Coverage Report

Created: 2024-05-30 01:33

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
158M
    {
87
158M
        return s - i;
88
158M
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
21.4M
    {
87
21.4M
        return s - i;
88
21.4M
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
136M
    {
87
136M
        return s - i;
88
136M
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v3::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
109M
    {
94
109M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
109M
        return counter;
100
109M
    }
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
5.74M
    {
94
5.74M
        iter_difference_t<I> counter{0};
95
56.1M
        while (i != s) {
96
50.3M
            ++i;
97
50.3M
            ++counter;
98
50.3M
        }
99
5.74M
        return counter;
100
5.74M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
103M
    {
94
103M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
103M
        return counter;
100
103M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::detail::priority_tag<0ul>)
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
267M
    {
108
267M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
267M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
21.4M
    {
108
21.4M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
21.4M
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
136M
    {
108
136M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
136M
    }
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
107
5.74M
    {
108
5.74M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
5.74M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
107
103M
    {
108
103M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
103M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
102k
    {
132
102k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
102k
        return t;
136
102k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
16.4M
    {
151
16.4M
        i += n;
152
16.4M
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
15.5M
    {
151
15.5M
        i += n;
152
15.5M
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
994k
    {
151
994k
        i += n;
152
994k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
2.94k
    {
161
2.94k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.94k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.94k
        else {
169
2.94k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.94k
        }
173
2.94k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
2.94k
    {
161
2.94k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.94k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.94k
        else {
169
2.94k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.94k
        }
173
2.94k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
15.4M
    {
181
58.1M
        while (n-- > iter_difference_t<I>{0}) {
182
42.6M
            ++i;
183
42.6M
        }
184
15.4M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
14.7M
    {
181
55.7M
        while (n-- > iter_difference_t<I>{0}) {
182
41.0M
            ++i;
183
41.0M
        }
184
14.7M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
718k
    {
181
2.37M
        while (n-- > iter_difference_t<I>{0}) {
182
1.65M
            ++i;
183
1.65M
        }
184
718k
    }
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.77M
    {
190
1.77M
        i = std::move(bound);
191
1.77M
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
1.62M
    {
190
1.62M
        i = std::move(bound);
191
1.62M
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
158k
    {
190
158k
        i = std::move(bound);
191
158k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
126
    {
203
3.95k
        while (i != bound) {
204
3.82k
            ++i;
205
3.82k
        }
206
126
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
126
    {
203
3.95k
        while (i != bound) {
204
3.82k
            ++i;
205
3.82k
        }
206
126
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
51.2k
    {
212
51.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
48
            auto dist = bound - i;
214
48
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
48
            return dist;
216
48
        }
217
51.1k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
51.1k
        return n;
219
51.2k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
51.2k
    {
212
51.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
48
            auto dist = bound - i;
214
48
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
48
            return dist;
216
48
        }
217
51.1k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
51.1k
        return n;
219
51.2k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
8.46k
    {
227
8.46k
        constexpr iter_difference_t<I> zero{0};
228
8.46k
        iter_difference_t<I> counter{0};
229
230
8.46k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
8.46k
        else {
237
26.7k
            while (n-- > zero && i != bound) {
238
18.2k
                ++i;
239
18.2k
                ++counter;
240
18.2k
            }
241
8.46k
        }
242
243
8.46k
        return counter;
244
8.46k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
8.46k
    {
227
8.46k
        constexpr iter_difference_t<I> zero{0};
228
8.46k
        iter_difference_t<I> counter{0};
229
230
8.46k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
8.46k
        else {
237
26.7k
            while (n-- > zero && i != bound) {
238
18.2k
                ++i;
239
18.2k
                ++counter;
240
18.2k
            }
241
8.46k
        }
242
243
8.46k
        return counter;
244
8.46k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
157k
    {
252
157k
        constexpr iter_difference_t<I> zero{0};
253
157k
        iter_difference_t<I> counter{0};
254
255
540k
        while (n-- > zero && i != bound) {
256
383k
            ++i;
257
383k
            ++counter;
258
383k
        }
259
260
157k
        return counter;
261
157k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
251
157k
    {
252
157k
        constexpr iter_difference_t<I> zero{0};
253
157k
        iter_difference_t<I> counter{0};
254
255
540k
        while (n-- > zero && i != bound) {
256
383k
            ++i;
257
383k
            ++counter;
258
383k
        }
259
260
157k
        return counter;
261
157k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
31.8M
    {
268
31.8M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
31.8M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
15.4M
    {
268
15.4M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
15.4M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
994k
    {
268
994k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
994k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
2.94k
    {
268
2.94k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.94k
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
267
14.7M
    {
268
14.7M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
14.7M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
267
718k
    {
268
718k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
718k
    }
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
1.77M
    {
275
1.77M
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
1.77M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
1.62M
    {
275
1.62M
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
1.62M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
126
    {
275
126
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
126
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
158k
    {
275
158k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
158k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
217k
    {
283
217k
        return n - fn::impl_i_n_s(i, n, bound);
284
217k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
8.46k
    {
283
8.46k
        return n - fn::impl_i_n_s(i, n, bound);
284
8.46k
    }
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
Line
Count
Source
282
157k
    {
283
157k
        return n - fn::impl_i_n_s(i, n, bound);
284
157k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
51.2k
    {
283
51.2k
        return n - fn::impl_i_n_s(i, n, bound);
284
51.2k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
315M
    {
296
315M
        ++x;
297
315M
        return x;
298
315M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
295
9.52M
    {
296
9.52M
        ++x;
297
9.52M
        return x;
298
9.52M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
1.93k
    {
296
1.93k
        ++x;
297
1.93k
        return x;
298
1.93k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
6.25M
    {
296
6.25M
        ++x;
297
6.25M
        return x;
298
6.25M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
295
823k
    {
296
823k
        ++x;
297
823k
        return x;
298
823k
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
70
    {
296
70
        ++x;
297
70
        return x;
298
70
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
299M
    {
296
299M
        ++x;
297
299M
        return x;
298
299M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
27.3M
    {
304
27.3M
        ranges::advance(x, n);
305
27.3M
        return x;
306
27.3M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
15.4M
    {
304
15.4M
        ranges::advance(x, n);
305
15.4M
        return x;
306
15.4M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
994k
    {
304
994k
        ranges::advance(x, n);
305
994k
        return x;
306
994k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
303
10.2M
    {
304
10.2M
        ranges::advance(x, n);
305
10.2M
        return x;
306
10.2M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
303
718k
    {
304
718k
        ranges::advance(x, n);
305
718k
        return x;
306
718k
    }
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
1.77M
    {
313
1.77M
        ranges::advance(x, bound);
314
1.77M
        return x;
315
1.77M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
1.62M
    {
313
1.62M
        ranges::advance(x, bound);
314
1.62M
        return x;
315
1.62M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
126
    {
313
126
        ranges::advance(x, bound);
314
126
        return x;
315
126
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
158k
    {
313
158k
        ranges::advance(x, bound);
314
158k
        return x;
315
158k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
61.1M
{
458
61.1M
    return is_ascii_space_lookup[static_cast<size_t>(
459
61.1M
        static_cast<unsigned char>(ch))];
460
61.1M
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
588k
{
469
588k
    return static_cast<unsigned char>(ch) <= 127;
470
588k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
9.50k
{
474
9.50k
#if WCHAR_MIN < 0
475
9.50k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
9.50k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
546k
{
483
546k
    return cp <= 127;
484
546k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
14.4M
{
539
14.4M
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
14.4M
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
217M
        {
662
217M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >*)
Line
Count
Source
661
7.54M
        {
662
7.54M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >*)
Line
Count
Source
661
66.8M
        {
662
66.8M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_LPv0EEEPSK_
Line
Count
Source
661
1.65M
        {
662
1.65M
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
29.8k
        {
662
29.8k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_LPv0EEEPSP_
Line
Count
Source
661
804
        {
662
804
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
2.21k
        {
662
2.21k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_LPv0EEEPSM_
Line
Count
Source
661
3.81k
        {
662
3.81k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
1.14M
        {
662
1.14M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
244k
        {
662
244k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
3.22M
        {
662
3.22M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
150k
        {
662
150k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
383k
        {
662
383k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
2
        {
662
2
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
264
        {
662
264
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_LPv0EEEPSJ_
Line
Count
Source
661
3.78k
        {
662
3.78k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_LPv0EEEPSI_
Line
Count
Source
661
78.6k
        {
662
78.6k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Line
Count
Source
661
1.17M
        {
662
1.17M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
146k
        {
662
146k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
374k
        {
662
374k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
166k
        {
662
166k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
405k
        {
662
405k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
12
        {
662
12
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
254
        {
662
254
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
162k
        {
662
162k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
396k
        {
662
396k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
169k
        {
662
169k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
408k
        {
662
408k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
165k
        {
662
165k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
399k
        {
662
399k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
155k
        {
662
155k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
738
        {
662
738
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
88
        {
662
88
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
38
        {
662
38
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
88
        {
662
88
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
38
        {
662
38
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
88
        {
662
88
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
38
        {
662
38
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
4.34M
        {
662
4.34M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >*)
Line
Count
Source
661
796k
        {
662
796k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_LPv0EEEPSK_
Line
Count
Source
661
303k
        {
662
303k
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
3.91k
        {
662
3.91k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_LPv0EEEPSP_
Line
Count
Source
661
30
        {
662
30
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
90
        {
662
90
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
41.5M
        {
662
41.5M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
54.3k
        {
662
54.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
2.44k
        {
662
2.44k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
279k
        {
662
279k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
56.9k
        {
662
56.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
10
        {
662
10
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_LPv0EEEPSI_
Line
Count
Source
661
1.01k
        {
662
1.01k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Line
Count
Source
661
145k
        {
662
145k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
56.9k
        {
662
56.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
56.9k
        {
662
56.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
10
        {
662
10
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
57.4k
        {
662
57.4k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
57.0k
        {
662
57.0k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
14.9k
        {
662
14.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
57.0k
        {
662
57.0k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
20.3M
        {
662
20.3M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
40.7M
        {
662
40.7M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
21.0M
        {
662
21.0M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
45.0k
        {
662
45.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
220k
        {
662
220k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
244k
        {
662
244k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
247k
        {
662
247k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
205k
        {
662
205k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
227k
        {
662
227k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
230k
        {
662
230k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
22.3k
        {
662
22.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
22.9k
        {
662
22.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
22.4k
        {
662
22.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
22.3k
        {
662
22.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
22.3k
        {
662
22.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
22.4k
        {
662
22.4k
        }
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
23.8k
        {
667
23.8k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Line
Count
Source
666
3.18k
        {
667
3.18k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_LPv0EEEPKSM_
Line
Count
Source
666
2.39k
        {
667
2.39k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
492
        {
667
492
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_LPv0EEEPKSL_
Line
Count
Source
666
174
        {
667
174
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
2.77k
        {
667
2.77k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
5.16k
        {
667
5.16k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Line
Count
Source
666
236
        {
667
236
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_LPv0EEEPKSM_
Line
Count
Source
666
3.15k
        {
667
3.15k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_LPv0EEEPKSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
6.30k
        {
667
6.30k
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
991M
    {
684
991M
        if constexpr (std::is_const_v<T>) {
685
990M
            return static_cast<T*>(s.m_cp);
686
990M
        }
687
990M
        else if constexpr (std::is_object_v<T>) {
688
990M
            return static_cast<T*>(s.m_p);
689
990M
        }
690
991M
        else {
691
991M
            return reinterpret_cast<T*>(s.m_fp);
692
991M
        }
693
991M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
39.4M
    {
684
39.4M
        if constexpr (std::is_const_v<T>) {
685
39.4M
            return static_cast<T*>(s.m_cp);
686
39.4M
        }
687
39.4M
        else if constexpr (std::is_object_v<T>) {
688
39.4M
            return static_cast<T*>(s.m_p);
689
39.4M
        }
690
39.4M
        else {
691
39.4M
            return reinterpret_cast<T*>(s.m_fp);
692
39.4M
        }
693
39.4M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
189M
    {
684
189M
        if constexpr (std::is_const_v<T>) {
685
189M
            return static_cast<T*>(s.m_cp);
686
189M
        }
687
189M
        else if constexpr (std::is_object_v<T>) {
688
189M
            return static_cast<T*>(s.m_p);
689
189M
        }
690
189M
        else {
691
189M
            return reinterpret_cast<T*>(s.m_fp);
692
189M
        }
693
189M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
6.49M
    {
684
6.49M
        if constexpr (std::is_const_v<T>) {
685
6.49M
            return static_cast<T*>(s.m_cp);
686
6.49M
        }
687
6.49M
        else if constexpr (std::is_object_v<T>) {
688
6.49M
            return static_cast<T*>(s.m_p);
689
6.49M
        }
690
6.49M
        else {
691
6.49M
            return reinterpret_cast<T*>(s.m_fp);
692
6.49M
        }
693
6.49M
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
38.1k
    {
684
38.1k
        if constexpr (std::is_const_v<T>) {
685
38.1k
            return static_cast<T*>(s.m_cp);
686
38.1k
        }
687
38.1k
        else if constexpr (std::is_object_v<T>) {
688
38.1k
            return static_cast<T*>(s.m_p);
689
38.1k
        }
690
38.1k
        else {
691
38.1k
            return reinterpret_cast<T*>(s.m_fp);
692
38.1k
        }
693
38.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
804
    {
684
804
        if constexpr (std::is_const_v<T>) {
685
804
            return static_cast<T*>(s.m_cp);
686
804
        }
687
804
        else if constexpr (std::is_object_v<T>) {
688
804
            return static_cast<T*>(s.m_p);
689
804
        }
690
804
        else {
691
804
            return reinterpret_cast<T*>(s.m_fp);
692
804
        }
693
804
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
3.84k
    {
684
3.84k
        if constexpr (std::is_const_v<T>) {
685
3.84k
            return static_cast<T*>(s.m_cp);
686
3.84k
        }
687
3.84k
        else if constexpr (std::is_object_v<T>) {
688
3.84k
            return static_cast<T*>(s.m_p);
689
3.84k
        }
690
3.84k
        else {
691
3.84k
            return reinterpret_cast<T*>(s.m_fp);
692
3.84k
        }
693
3.84k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
6.14k
    {
684
6.14k
        if constexpr (std::is_const_v<T>) {
685
6.14k
            return static_cast<T*>(s.m_cp);
686
6.14k
        }
687
6.14k
        else if constexpr (std::is_object_v<T>) {
688
6.14k
            return static_cast<T*>(s.m_p);
689
6.14k
        }
690
6.14k
        else {
691
6.14k
            return reinterpret_cast<T*>(s.m_fp);
692
6.14k
        }
693
6.14k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
150k
    {
684
150k
        if constexpr (std::is_const_v<T>) {
685
150k
            return static_cast<T*>(s.m_cp);
686
150k
        }
687
150k
        else if constexpr (std::is_object_v<T>) {
688
150k
            return static_cast<T*>(s.m_p);
689
150k
        }
690
150k
        else {
691
150k
            return reinterpret_cast<T*>(s.m_fp);
692
150k
        }
693
150k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
23.5k
    {
684
23.5k
        if constexpr (std::is_const_v<T>) {
685
23.5k
            return static_cast<T*>(s.m_cp);
686
23.5k
        }
687
23.5k
        else if constexpr (std::is_object_v<T>) {
688
23.5k
            return static_cast<T*>(s.m_p);
689
23.5k
        }
690
23.5k
        else {
691
23.5k
            return reinterpret_cast<T*>(s.m_fp);
692
23.5k
        }
693
23.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
5.91M
    {
684
5.91M
        if constexpr (std::is_const_v<T>) {
685
5.91M
            return static_cast<T*>(s.m_cp);
686
5.91M
        }
687
5.91M
        else if constexpr (std::is_object_v<T>) {
688
5.91M
            return static_cast<T*>(s.m_p);
689
5.91M
        }
690
5.91M
        else {
691
5.91M
            return reinterpret_cast<T*>(s.m_fp);
692
5.91M
        }
693
5.91M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
777k
    {
684
777k
        if constexpr (std::is_const_v<T>) {
685
777k
            return static_cast<T*>(s.m_cp);
686
777k
        }
687
777k
        else if constexpr (std::is_object_v<T>) {
688
777k
            return static_cast<T*>(s.m_p);
689
777k
        }
690
777k
        else {
691
777k
            return reinterpret_cast<T*>(s.m_fp);
692
777k
        }
693
777k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
18.6M
    {
684
18.6M
        if constexpr (std::is_const_v<T>) {
685
18.6M
            return static_cast<T*>(s.m_cp);
686
18.6M
        }
687
18.6M
        else if constexpr (std::is_object_v<T>) {
688
18.6M
            return static_cast<T*>(s.m_p);
689
18.6M
        }
690
18.6M
        else {
691
18.6M
            return reinterpret_cast<T*>(s.m_fp);
692
18.6M
        }
693
18.6M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
383k
    {
684
383k
        if constexpr (std::is_const_v<T>) {
685
383k
            return static_cast<T*>(s.m_cp);
686
383k
        }
687
383k
        else if constexpr (std::is_object_v<T>) {
688
383k
            return static_cast<T*>(s.m_p);
689
383k
        }
690
383k
        else {
691
383k
            return reinterpret_cast<T*>(s.m_fp);
692
383k
        }
693
383k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
2
    {
684
2
        if constexpr (std::is_const_v<T>) {
685
2
            return static_cast<T*>(s.m_cp);
686
2
        }
687
2
        else if constexpr (std::is_object_v<T>) {
688
2
            return static_cast<T*>(s.m_p);
689
2
        }
690
2
        else {
691
2
            return reinterpret_cast<T*>(s.m_fp);
692
2
        }
693
2
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
264
    {
684
264
        if constexpr (std::is_const_v<T>) {
685
264
            return static_cast<T*>(s.m_cp);
686
264
        }
687
264
        else if constexpr (std::is_object_v<T>) {
688
264
            return static_cast<T*>(s.m_p);
689
264
        }
690
264
        else {
691
264
            return reinterpret_cast<T*>(s.m_fp);
692
264
        }
693
264
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
146k
    {
684
146k
        if constexpr (std::is_const_v<T>) {
685
146k
            return static_cast<T*>(s.m_cp);
686
146k
        }
687
146k
        else if constexpr (std::is_object_v<T>) {
688
146k
            return static_cast<T*>(s.m_p);
689
146k
        }
690
146k
        else {
691
146k
            return reinterpret_cast<T*>(s.m_fp);
692
146k
        }
693
146k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
23.4k
    {
684
23.4k
        if constexpr (std::is_const_v<T>) {
685
23.4k
            return static_cast<T*>(s.m_cp);
686
23.4k
        }
687
23.4k
        else if constexpr (std::is_object_v<T>) {
688
23.4k
            return static_cast<T*>(s.m_p);
689
23.4k
        }
690
23.4k
        else {
691
23.4k
            return reinterpret_cast<T*>(s.m_fp);
692
23.4k
        }
693
23.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
244k
    {
684
244k
        if constexpr (std::is_const_v<T>) {
685
244k
            return static_cast<T*>(s.m_cp);
686
244k
        }
687
244k
        else if constexpr (std::is_object_v<T>) {
688
244k
            return static_cast<T*>(s.m_p);
689
244k
        }
690
244k
        else {
691
244k
            return reinterpret_cast<T*>(s.m_fp);
692
244k
        }
693
244k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
7.23M
    {
684
7.23M
        if constexpr (std::is_const_v<T>) {
685
7.23M
            return static_cast<T*>(s.m_cp);
686
7.23M
        }
687
7.23M
        else if constexpr (std::is_object_v<T>) {
688
7.23M
            return static_cast<T*>(s.m_p);
689
7.23M
        }
690
7.23M
        else {
691
7.23M
            return reinterpret_cast<T*>(s.m_fp);
692
7.23M
        }
693
7.23M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
374k
    {
684
374k
        if constexpr (std::is_const_v<T>) {
685
374k
            return static_cast<T*>(s.m_cp);
686
374k
        }
687
374k
        else if constexpr (std::is_object_v<T>) {
688
374k
            return static_cast<T*>(s.m_p);
689
374k
        }
690
374k
        else {
691
374k
            return reinterpret_cast<T*>(s.m_fp);
692
374k
        }
693
374k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
166k
    {
684
166k
        if constexpr (std::is_const_v<T>) {
685
166k
            return static_cast<T*>(s.m_cp);
686
166k
        }
687
166k
        else if constexpr (std::is_object_v<T>) {
688
166k
            return static_cast<T*>(s.m_p);
689
166k
        }
690
166k
        else {
691
166k
            return reinterpret_cast<T*>(s.m_fp);
692
166k
        }
693
166k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
405k
    {
684
405k
        if constexpr (std::is_const_v<T>) {
685
405k
            return static_cast<T*>(s.m_cp);
686
405k
        }
687
405k
        else if constexpr (std::is_object_v<T>) {
688
405k
            return static_cast<T*>(s.m_p);
689
405k
        }
690
405k
        else {
691
405k
            return reinterpret_cast<T*>(s.m_fp);
692
405k
        }
693
405k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
12
    {
684
12
        if constexpr (std::is_const_v<T>) {
685
12
            return static_cast<T*>(s.m_cp);
686
12
        }
687
12
        else if constexpr (std::is_object_v<T>) {
688
12
            return static_cast<T*>(s.m_p);
689
12
        }
690
12
        else {
691
12
            return reinterpret_cast<T*>(s.m_fp);
692
12
        }
693
12
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
254
    {
684
254
        if constexpr (std::is_const_v<T>) {
685
254
            return static_cast<T*>(s.m_cp);
686
254
        }
687
254
        else if constexpr (std::is_object_v<T>) {
688
254
            return static_cast<T*>(s.m_p);
689
254
        }
690
254
        else {
691
254
            return reinterpret_cast<T*>(s.m_fp);
692
254
        }
693
254
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
162k
    {
684
162k
        if constexpr (std::is_const_v<T>) {
685
162k
            return static_cast<T*>(s.m_cp);
686
162k
        }
687
162k
        else if constexpr (std::is_object_v<T>) {
688
162k
            return static_cast<T*>(s.m_p);
689
162k
        }
690
162k
        else {
691
162k
            return reinterpret_cast<T*>(s.m_fp);
692
162k
        }
693
162k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
396k
    {
684
396k
        if constexpr (std::is_const_v<T>) {
685
396k
            return static_cast<T*>(s.m_cp);
686
396k
        }
687
396k
        else if constexpr (std::is_object_v<T>) {
688
396k
            return static_cast<T*>(s.m_p);
689
396k
        }
690
396k
        else {
691
396k
            return reinterpret_cast<T*>(s.m_fp);
692
396k
        }
693
396k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
169k
    {
684
169k
        if constexpr (std::is_const_v<T>) {
685
169k
            return static_cast<T*>(s.m_cp);
686
169k
        }
687
169k
        else if constexpr (std::is_object_v<T>) {
688
169k
            return static_cast<T*>(s.m_p);
689
169k
        }
690
169k
        else {
691
169k
            return reinterpret_cast<T*>(s.m_fp);
692
169k
        }
693
169k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
408k
    {
684
408k
        if constexpr (std::is_const_v<T>) {
685
408k
            return static_cast<T*>(s.m_cp);
686
408k
        }
687
408k
        else if constexpr (std::is_object_v<T>) {
688
408k
            return static_cast<T*>(s.m_p);
689
408k
        }
690
408k
        else {
691
408k
            return reinterpret_cast<T*>(s.m_fp);
692
408k
        }
693
408k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
165k
    {
684
165k
        if constexpr (std::is_const_v<T>) {
685
165k
            return static_cast<T*>(s.m_cp);
686
165k
        }
687
165k
        else if constexpr (std::is_object_v<T>) {
688
165k
            return static_cast<T*>(s.m_p);
689
165k
        }
690
165k
        else {
691
165k
            return reinterpret_cast<T*>(s.m_fp);
692
165k
        }
693
165k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
399k
    {
684
399k
        if constexpr (std::is_const_v<T>) {
685
399k
            return static_cast<T*>(s.m_cp);
686
399k
        }
687
399k
        else if constexpr (std::is_object_v<T>) {
688
399k
            return static_cast<T*>(s.m_p);
689
399k
        }
690
399k
        else {
691
399k
            return reinterpret_cast<T*>(s.m_fp);
692
399k
        }
693
399k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.07M
    {
684
1.07M
        if constexpr (std::is_const_v<T>) {
685
1.07M
            return static_cast<T*>(s.m_cp);
686
1.07M
        }
687
1.07M
        else if constexpr (std::is_object_v<T>) {
688
1.07M
            return static_cast<T*>(s.m_p);
689
1.07M
        }
690
1.07M
        else {
691
1.07M
            return reinterpret_cast<T*>(s.m_fp);
692
1.07M
        }
693
1.07M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
5.94k
    {
684
5.94k
        if constexpr (std::is_const_v<T>) {
685
5.94k
            return static_cast<T*>(s.m_cp);
686
5.94k
        }
687
5.94k
        else if constexpr (std::is_object_v<T>) {
688
5.94k
            return static_cast<T*>(s.m_p);
689
5.94k
        }
690
5.94k
        else {
691
5.94k
            return reinterpret_cast<T*>(s.m_fp);
692
5.94k
        }
693
5.94k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
20.4k
    {
684
20.4k
        if constexpr (std::is_const_v<T>) {
685
20.4k
            return static_cast<T*>(s.m_cp);
686
20.4k
        }
687
20.4k
        else if constexpr (std::is_object_v<T>) {
688
20.4k
            return static_cast<T*>(s.m_p);
689
20.4k
        }
690
20.4k
        else {
691
20.4k
            return reinterpret_cast<T*>(s.m_fp);
692
20.4k
        }
693
20.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
3.18k
    {
684
3.18k
        if constexpr (std::is_const_v<T>) {
685
3.18k
            return static_cast<T*>(s.m_cp);
686
3.18k
        }
687
3.18k
        else if constexpr (std::is_object_v<T>) {
688
3.18k
            return static_cast<T*>(s.m_p);
689
3.18k
        }
690
3.18k
        else {
691
3.18k
            return reinterpret_cast<T*>(s.m_fp);
692
3.18k
        }
693
3.18k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
67.8k
    {
684
67.8k
        if constexpr (std::is_const_v<T>) {
685
67.8k
            return static_cast<T*>(s.m_cp);
686
67.8k
        }
687
67.8k
        else if constexpr (std::is_object_v<T>) {
688
67.8k
            return static_cast<T*>(s.m_p);
689
67.8k
        }
690
67.8k
        else {
691
67.8k
            return reinterpret_cast<T*>(s.m_fp);
692
67.8k
        }
693
67.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
2.05k
    {
684
2.05k
        if constexpr (std::is_const_v<T>) {
685
2.05k
            return static_cast<T*>(s.m_cp);
686
2.05k
        }
687
2.05k
        else if constexpr (std::is_object_v<T>) {
688
2.05k
            return static_cast<T*>(s.m_p);
689
2.05k
        }
690
2.05k
        else {
691
2.05k
            return reinterpret_cast<T*>(s.m_fp);
692
2.05k
        }
693
2.05k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
1.30k
    {
684
1.30k
        if constexpr (std::is_const_v<T>) {
685
1.30k
            return static_cast<T*>(s.m_cp);
686
1.30k
        }
687
1.30k
        else if constexpr (std::is_object_v<T>) {
688
1.30k
            return static_cast<T*>(s.m_p);
689
1.30k
        }
690
1.30k
        else {
691
1.30k
            return reinterpret_cast<T*>(s.m_fp);
692
1.30k
        }
693
1.30k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
478k
    {
684
478k
        if constexpr (std::is_const_v<T>) {
685
478k
            return static_cast<T*>(s.m_cp);
686
478k
        }
687
478k
        else if constexpr (std::is_object_v<T>) {
688
478k
            return static_cast<T*>(s.m_p);
689
478k
        }
690
478k
        else {
691
478k
            return reinterpret_cast<T*>(s.m_fp);
692
478k
        }
693
478k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
16.8k
    {
684
16.8k
        if constexpr (std::is_const_v<T>) {
685
16.8k
            return static_cast<T*>(s.m_cp);
686
16.8k
        }
687
16.8k
        else if constexpr (std::is_object_v<T>) {
688
16.8k
            return static_cast<T*>(s.m_p);
689
16.8k
        }
690
16.8k
        else {
691
16.8k
            return reinterpret_cast<T*>(s.m_fp);
692
16.8k
        }
693
16.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
3.18k
    {
684
3.18k
        if constexpr (std::is_const_v<T>) {
685
3.18k
            return static_cast<T*>(s.m_cp);
686
3.18k
        }
687
3.18k
        else if constexpr (std::is_object_v<T>) {
688
3.18k
            return static_cast<T*>(s.m_p);
689
3.18k
        }
690
3.18k
        else {
691
3.18k
            return reinterpret_cast<T*>(s.m_fp);
692
3.18k
        }
693
3.18k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
1.30k
    {
684
1.30k
        if constexpr (std::is_const_v<T>) {
685
1.30k
            return static_cast<T*>(s.m_cp);
686
1.30k
        }
687
1.30k
        else if constexpr (std::is_object_v<T>) {
688
1.30k
            return static_cast<T*>(s.m_p);
689
1.30k
        }
690
1.30k
        else {
691
1.30k
            return reinterpret_cast<T*>(s.m_fp);
692
1.30k
        }
693
1.30k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
3.18k
    {
684
3.18k
        if constexpr (std::is_const_v<T>) {
685
3.18k
            return static_cast<T*>(s.m_cp);
686
3.18k
        }
687
3.18k
        else if constexpr (std::is_object_v<T>) {
688
3.18k
            return static_cast<T*>(s.m_p);
689
3.18k
        }
690
3.18k
        else {
691
3.18k
            return reinterpret_cast<T*>(s.m_fp);
692
3.18k
        }
693
3.18k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
1.30k
    {
684
1.30k
        if constexpr (std::is_const_v<T>) {
685
1.30k
            return static_cast<T*>(s.m_cp);
686
1.30k
        }
687
1.30k
        else if constexpr (std::is_object_v<T>) {
688
1.30k
            return static_cast<T*>(s.m_p);
689
1.30k
        }
690
1.30k
        else {
691
1.30k
            return reinterpret_cast<T*>(s.m_fp);
692
1.30k
        }
693
1.30k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
8.91M
    {
684
8.91M
        if constexpr (std::is_const_v<T>) {
685
8.91M
            return static_cast<T*>(s.m_cp);
686
8.91M
        }
687
8.91M
        else if constexpr (std::is_object_v<T>) {
688
8.91M
            return static_cast<T*>(s.m_p);
689
8.91M
        }
690
8.91M
        else {
691
8.91M
            return reinterpret_cast<T*>(s.m_fp);
692
8.91M
        }
693
8.91M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
885k
    {
684
885k
        if constexpr (std::is_const_v<T>) {
685
885k
            return static_cast<T*>(s.m_cp);
686
885k
        }
687
885k
        else if constexpr (std::is_object_v<T>) {
688
885k
            return static_cast<T*>(s.m_p);
689
885k
        }
690
885k
        else {
691
885k
            return reinterpret_cast<T*>(s.m_fp);
692
885k
        }
693
885k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
314k
    {
684
314k
        if constexpr (std::is_const_v<T>) {
685
314k
            return static_cast<T*>(s.m_cp);
686
314k
        }
687
314k
        else if constexpr (std::is_object_v<T>) {
688
314k
            return static_cast<T*>(s.m_p);
689
314k
        }
690
314k
        else {
691
314k
            return reinterpret_cast<T*>(s.m_fp);
692
314k
        }
693
314k
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
6.97k
    {
684
6.97k
        if constexpr (std::is_const_v<T>) {
685
6.97k
            return static_cast<T*>(s.m_cp);
686
6.97k
        }
687
6.97k
        else if constexpr (std::is_object_v<T>) {
688
6.97k
            return static_cast<T*>(s.m_p);
689
6.97k
        }
690
6.97k
        else {
691
6.97k
            return reinterpret_cast<T*>(s.m_fp);
692
6.97k
        }
693
6.97k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
30
    {
684
30
        if constexpr (std::is_const_v<T>) {
685
30
            return static_cast<T*>(s.m_cp);
686
30
        }
687
30
        else if constexpr (std::is_object_v<T>) {
688
30
            return static_cast<T*>(s.m_p);
689
30
        }
690
30
        else {
691
30
            return reinterpret_cast<T*>(s.m_fp);
692
30
        }
693
30
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
264
    {
684
264
        if constexpr (std::is_const_v<T>) {
685
264
            return static_cast<T*>(s.m_cp);
686
264
        }
687
264
        else if constexpr (std::is_object_v<T>) {
688
264
            return static_cast<T*>(s.m_p);
689
264
        }
690
264
        else {
691
264
            return reinterpret_cast<T*>(s.m_fp);
692
264
        }
693
264
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
90
    {
684
90
        if constexpr (std::is_const_v<T>) {
685
90
            return static_cast<T*>(s.m_cp);
686
90
        }
687
90
        else if constexpr (std::is_object_v<T>) {
688
90
            return static_cast<T*>(s.m_p);
689
90
        }
690
90
        else {
691
90
            return reinterpret_cast<T*>(s.m_fp);
692
90
        }
693
90
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
119M
    {
684
119M
        if constexpr (std::is_const_v<T>) {
685
119M
            return static_cast<T*>(s.m_cp);
686
119M
        }
687
119M
        else if constexpr (std::is_object_v<T>) {
688
119M
            return static_cast<T*>(s.m_p);
689
119M
        }
690
119M
        else {
691
119M
            return reinterpret_cast<T*>(s.m_fp);
692
119M
        }
693
119M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
65.1k
    {
684
65.1k
        if constexpr (std::is_const_v<T>) {
685
65.1k
            return static_cast<T*>(s.m_cp);
686
65.1k
        }
687
65.1k
        else if constexpr (std::is_object_v<T>) {
688
65.1k
            return static_cast<T*>(s.m_p);
689
65.1k
        }
690
65.1k
        else {
691
65.1k
            return reinterpret_cast<T*>(s.m_fp);
692
65.1k
        }
693
65.1k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
5.27k
    {
684
5.27k
        if constexpr (std::is_const_v<T>) {
685
5.27k
            return static_cast<T*>(s.m_cp);
686
5.27k
        }
687
5.27k
        else if constexpr (std::is_object_v<T>) {
688
5.27k
            return static_cast<T*>(s.m_p);
689
5.27k
        }
690
5.27k
        else {
691
5.27k
            return reinterpret_cast<T*>(s.m_fp);
692
5.27k
        }
693
5.27k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
323k
    {
684
323k
        if constexpr (std::is_const_v<T>) {
685
323k
            return static_cast<T*>(s.m_cp);
686
323k
        }
687
323k
        else if constexpr (std::is_object_v<T>) {
688
323k
            return static_cast<T*>(s.m_p);
689
323k
        }
690
323k
        else {
691
323k
            return reinterpret_cast<T*>(s.m_fp);
692
323k
        }
693
323k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
56.9k
    {
684
56.9k
        if constexpr (std::is_const_v<T>) {
685
56.9k
            return static_cast<T*>(s.m_cp);
686
56.9k
        }
687
56.9k
        else if constexpr (std::is_object_v<T>) {
688
56.9k
            return static_cast<T*>(s.m_p);
689
56.9k
        }
690
56.9k
        else {
691
56.9k
            return reinterpret_cast<T*>(s.m_fp);
692
56.9k
        }
693
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
10
    {
684
10
        if constexpr (std::is_const_v<T>) {
685
10
            return static_cast<T*>(s.m_cp);
686
10
        }
687
10
        else if constexpr (std::is_object_v<T>) {
688
10
            return static_cast<T*>(s.m_p);
689
10
        }
690
10
        else {
691
10
            return reinterpret_cast<T*>(s.m_fp);
692
10
        }
693
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
2.10k
    {
684
2.10k
        if constexpr (std::is_const_v<T>) {
685
2.10k
            return static_cast<T*>(s.m_cp);
686
2.10k
        }
687
2.10k
        else if constexpr (std::is_object_v<T>) {
688
2.10k
            return static_cast<T*>(s.m_p);
689
2.10k
        }
690
2.10k
        else {
691
2.10k
            return reinterpret_cast<T*>(s.m_fp);
692
2.10k
        }
693
2.10k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
165k
    {
684
165k
        if constexpr (std::is_const_v<T>) {
685
165k
            return static_cast<T*>(s.m_cp);
686
165k
        }
687
165k
        else if constexpr (std::is_object_v<T>) {
688
165k
            return static_cast<T*>(s.m_p);
689
165k
        }
690
165k
        else {
691
165k
            return reinterpret_cast<T*>(s.m_fp);
692
165k
        }
693
165k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
56.9k
    {
684
56.9k
        if constexpr (std::is_const_v<T>) {
685
56.9k
            return static_cast<T*>(s.m_cp);
686
56.9k
        }
687
56.9k
        else if constexpr (std::is_object_v<T>) {
688
56.9k
            return static_cast<T*>(s.m_p);
689
56.9k
        }
690
56.9k
        else {
691
56.9k
            return reinterpret_cast<T*>(s.m_fp);
692
56.9k
        }
693
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
56.9k
    {
684
56.9k
        if constexpr (std::is_const_v<T>) {
685
56.9k
            return static_cast<T*>(s.m_cp);
686
56.9k
        }
687
56.9k
        else if constexpr (std::is_object_v<T>) {
688
56.9k
            return static_cast<T*>(s.m_p);
689
56.9k
        }
690
56.9k
        else {
691
56.9k
            return reinterpret_cast<T*>(s.m_fp);
692
56.9k
        }
693
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
10
    {
684
10
        if constexpr (std::is_const_v<T>) {
685
10
            return static_cast<T*>(s.m_cp);
686
10
        }
687
10
        else if constexpr (std::is_object_v<T>) {
688
10
            return static_cast<T*>(s.m_p);
689
10
        }
690
10
        else {
691
10
            return reinterpret_cast<T*>(s.m_fp);
692
10
        }
693
10
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
57.4k
    {
684
57.4k
        if constexpr (std::is_const_v<T>) {
685
57.4k
            return static_cast<T*>(s.m_cp);
686
57.4k
        }
687
57.4k
        else if constexpr (std::is_object_v<T>) {
688
57.4k
            return static_cast<T*>(s.m_p);
689
57.4k
        }
690
57.4k
        else {
691
57.4k
            return reinterpret_cast<T*>(s.m_fp);
692
57.4k
        }
693
57.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
57.0k
    {
684
57.0k
        if constexpr (std::is_const_v<T>) {
685
57.0k
            return static_cast<T*>(s.m_cp);
686
57.0k
        }
687
57.0k
        else if constexpr (std::is_object_v<T>) {
688
57.0k
            return static_cast<T*>(s.m_p);
689
57.0k
        }
690
57.0k
        else {
691
57.0k
            return reinterpret_cast<T*>(s.m_fp);
692
57.0k
        }
693
57.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
14.9k
    {
684
14.9k
        if constexpr (std::is_const_v<T>) {
685
14.9k
            return static_cast<T*>(s.m_cp);
686
14.9k
        }
687
14.9k
        else if constexpr (std::is_object_v<T>) {
688
14.9k
            return static_cast<T*>(s.m_p);
689
14.9k
        }
690
14.9k
        else {
691
14.9k
            return reinterpret_cast<T*>(s.m_fp);
692
14.9k
        }
693
14.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
57.0k
    {
684
57.0k
        if constexpr (std::is_const_v<T>) {
685
57.0k
            return static_cast<T*>(s.m_cp);
686
57.0k
        }
687
57.0k
        else if constexpr (std::is_object_v<T>) {
688
57.0k
            return static_cast<T*>(s.m_p);
689
57.0k
        }
690
57.0k
        else {
691
57.0k
            return reinterpret_cast<T*>(s.m_fp);
692
57.0k
        }
693
57.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
175M
    {
684
175M
        if constexpr (std::is_const_v<T>) {
685
175M
            return static_cast<T*>(s.m_cp);
686
175M
        }
687
175M
        else if constexpr (std::is_object_v<T>) {
688
175M
            return static_cast<T*>(s.m_p);
689
175M
        }
690
175M
        else {
691
175M
            return reinterpret_cast<T*>(s.m_fp);
692
175M
        }
693
175M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
3.16k
    {
684
3.16k
        if constexpr (std::is_const_v<T>) {
685
3.16k
            return static_cast<T*>(s.m_cp);
686
3.16k
        }
687
3.16k
        else if constexpr (std::is_object_v<T>) {
688
3.16k
            return static_cast<T*>(s.m_p);
689
3.16k
        }
690
3.16k
        else {
691
3.16k
            return reinterpret_cast<T*>(s.m_fp);
692
3.16k
        }
693
3.16k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
84
    {
684
84
        if constexpr (std::is_const_v<T>) {
685
84
            return static_cast<T*>(s.m_cp);
686
84
        }
687
84
        else if constexpr (std::is_object_v<T>) {
688
84
            return static_cast<T*>(s.m_p);
689
84
        }
690
84
        else {
691
84
            return reinterpret_cast<T*>(s.m_fp);
692
84
        }
693
84
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
350M
    {
684
350M
        if constexpr (std::is_const_v<T>) {
685
350M
            return static_cast<T*>(s.m_cp);
686
350M
        }
687
350M
        else if constexpr (std::is_object_v<T>) {
688
350M
            return static_cast<T*>(s.m_p);
689
350M
        }
690
350M
        else {
691
350M
            return reinterpret_cast<T*>(s.m_fp);
692
350M
        }
693
350M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
6.33k
    {
684
6.33k
        if constexpr (std::is_const_v<T>) {
685
6.33k
            return static_cast<T*>(s.m_cp);
686
6.33k
        }
687
6.33k
        else if constexpr (std::is_object_v<T>) {
688
6.33k
            return static_cast<T*>(s.m_p);
689
6.33k
        }
690
6.33k
        else {
691
6.33k
            return reinterpret_cast<T*>(s.m_fp);
692
6.33k
        }
693
6.33k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
60.1M
    {
684
60.1M
        if constexpr (std::is_const_v<T>) {
685
60.1M
            return static_cast<T*>(s.m_cp);
686
60.1M
        }
687
60.1M
        else if constexpr (std::is_object_v<T>) {
688
60.1M
            return static_cast<T*>(s.m_p);
689
60.1M
        }
690
60.1M
        else {
691
60.1M
            return reinterpret_cast<T*>(s.m_fp);
692
60.1M
        }
693
60.1M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
96.0k
    {
684
96.0k
        if constexpr (std::is_const_v<T>) {
685
96.0k
            return static_cast<T*>(s.m_cp);
686
96.0k
        }
687
96.0k
        else if constexpr (std::is_object_v<T>) {
688
96.0k
            return static_cast<T*>(s.m_p);
689
96.0k
        }
690
96.0k
        else {
691
96.0k
            return reinterpret_cast<T*>(s.m_fp);
692
96.0k
        }
693
96.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
220k
    {
684
220k
        if constexpr (std::is_const_v<T>) {
685
220k
            return static_cast<T*>(s.m_cp);
686
220k
        }
687
220k
        else if constexpr (std::is_object_v<T>) {
688
220k
            return static_cast<T*>(s.m_p);
689
220k
        }
690
220k
        else {
691
220k
            return reinterpret_cast<T*>(s.m_fp);
692
220k
        }
693
220k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
244k
    {
684
244k
        if constexpr (std::is_const_v<T>) {
685
244k
            return static_cast<T*>(s.m_cp);
686
244k
        }
687
244k
        else if constexpr (std::is_object_v<T>) {
688
244k
            return static_cast<T*>(s.m_p);
689
244k
        }
690
244k
        else {
691
244k
            return reinterpret_cast<T*>(s.m_fp);
692
244k
        }
693
244k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
247k
    {
684
247k
        if constexpr (std::is_const_v<T>) {
685
247k
            return static_cast<T*>(s.m_cp);
686
247k
        }
687
247k
        else if constexpr (std::is_object_v<T>) {
688
247k
            return static_cast<T*>(s.m_p);
689
247k
        }
690
247k
        else {
691
247k
            return reinterpret_cast<T*>(s.m_fp);
692
247k
        }
693
247k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
205k
    {
684
205k
        if constexpr (std::is_const_v<T>) {
685
205k
            return static_cast<T*>(s.m_cp);
686
205k
        }
687
205k
        else if constexpr (std::is_object_v<T>) {
688
205k
            return static_cast<T*>(s.m_p);
689
205k
        }
690
205k
        else {
691
205k
            return reinterpret_cast<T*>(s.m_fp);
692
205k
        }
693
205k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
227k
    {
684
227k
        if constexpr (std::is_const_v<T>) {
685
227k
            return static_cast<T*>(s.m_cp);
686
227k
        }
687
227k
        else if constexpr (std::is_object_v<T>) {
688
227k
            return static_cast<T*>(s.m_p);
689
227k
        }
690
227k
        else {
691
227k
            return reinterpret_cast<T*>(s.m_fp);
692
227k
        }
693
227k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
230k
    {
684
230k
        if constexpr (std::is_const_v<T>) {
685
230k
            return static_cast<T*>(s.m_cp);
686
230k
        }
687
230k
        else if constexpr (std::is_object_v<T>) {
688
230k
            return static_cast<T*>(s.m_p);
689
230k
        }
690
230k
        else {
691
230k
            return reinterpret_cast<T*>(s.m_fp);
692
230k
        }
693
230k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.3k
    {
684
22.3k
        if constexpr (std::is_const_v<T>) {
685
22.3k
            return static_cast<T*>(s.m_cp);
686
22.3k
        }
687
22.3k
        else if constexpr (std::is_object_v<T>) {
688
22.3k
            return static_cast<T*>(s.m_p);
689
22.3k
        }
690
22.3k
        else {
691
22.3k
            return reinterpret_cast<T*>(s.m_fp);
692
22.3k
        }
693
22.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.9k
    {
684
22.9k
        if constexpr (std::is_const_v<T>) {
685
22.9k
            return static_cast<T*>(s.m_cp);
686
22.9k
        }
687
22.9k
        else if constexpr (std::is_object_v<T>) {
688
22.9k
            return static_cast<T*>(s.m_p);
689
22.9k
        }
690
22.9k
        else {
691
22.9k
            return reinterpret_cast<T*>(s.m_fp);
692
22.9k
        }
693
22.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.4k
    {
684
22.4k
        if constexpr (std::is_const_v<T>) {
685
22.4k
            return static_cast<T*>(s.m_cp);
686
22.4k
        }
687
22.4k
        else if constexpr (std::is_object_v<T>) {
688
22.4k
            return static_cast<T*>(s.m_p);
689
22.4k
        }
690
22.4k
        else {
691
22.4k
            return reinterpret_cast<T*>(s.m_fp);
692
22.4k
        }
693
22.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.3k
    {
684
22.3k
        if constexpr (std::is_const_v<T>) {
685
22.3k
            return static_cast<T*>(s.m_cp);
686
22.3k
        }
687
22.3k
        else if constexpr (std::is_object_v<T>) {
688
22.3k
            return static_cast<T*>(s.m_p);
689
22.3k
        }
690
22.3k
        else {
691
22.3k
            return reinterpret_cast<T*>(s.m_fp);
692
22.3k
        }
693
22.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.3k
    {
684
22.3k
        if constexpr (std::is_const_v<T>) {
685
22.3k
            return static_cast<T*>(s.m_cp);
686
22.3k
        }
687
22.3k
        else if constexpr (std::is_object_v<T>) {
688
22.3k
            return static_cast<T*>(s.m_p);
689
22.3k
        }
690
22.3k
        else {
691
22.3k
            return reinterpret_cast<T*>(s.m_fp);
692
22.3k
        }
693
22.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
22.4k
    {
684
22.4k
        if constexpr (std::is_const_v<T>) {
685
22.4k
            return static_cast<T*>(s.m_cp);
686
22.4k
        }
687
22.4k
        else if constexpr (std::is_object_v<T>) {
688
22.4k
            return static_cast<T*>(s.m_p);
689
22.4k
        }
690
22.4k
        else {
691
22.4k
            return reinterpret_cast<T*>(s.m_fp);
692
22.4k
        }
693
22.4k
    }
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
        : m_fptr([](storage fn,
743
991M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
991M
              cvref<T> obj = *get<T>(fn);
745
991M
              if constexpr (std::is_void_v<R>) {
746
991M
                  obj(static_cast<decltype(args)>(args)...);
747
991M
              }
748
991M
              else {
749
991M
                  return obj(static_cast<decltype(args)>(args)...);
750
991M
              }
751
991M
          }),
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char) const
Line
Count
Source
743
39.4M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
39.4M
              cvref<T> obj = *get<T>(fn);
745
39.4M
              if constexpr (std::is_void_v<R>) {
746
39.4M
                  obj(static_cast<decltype(args)>(args)...);
747
39.4M
              }
748
39.4M
              else {
749
39.4M
                  return obj(static_cast<decltype(args)>(args)...);
750
39.4M
              }
751
39.4M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char32_t) const
Line
Count
Source
743
189M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
189M
              cvref<T> obj = *get<T>(fn);
745
189M
              if constexpr (std::is_void_v<R>) {
746
189M
                  obj(static_cast<decltype(args)>(args)...);
747
189M
              }
748
189M
              else {
749
189M
                  return obj(static_cast<decltype(args)>(args)...);
750
189M
              }
751
189M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
Line
Count
Source
743
6.49M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.49M
              cvref<T> obj = *get<T>(fn);
745
6.49M
              if constexpr (std::is_void_v<R>) {
746
6.49M
                  obj(static_cast<decltype(args)>(args)...);
747
6.49M
              }
748
6.49M
              else {
749
6.49M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.49M
              }
751
6.49M
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
38.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
38.1k
              cvref<T> obj = *get<T>(fn);
745
38.1k
              if constexpr (std::is_void_v<R>) {
746
38.1k
                  obj(static_cast<decltype(args)>(args)...);
747
38.1k
              }
748
38.1k
              else {
749
38.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
38.1k
              }
751
38.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
804
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
804
              cvref<T> obj = *get<T>(fn);
745
804
              if constexpr (std::is_void_v<R>) {
746
804
                  obj(static_cast<decltype(args)>(args)...);
747
804
              }
748
804
              else {
749
804
                  return obj(static_cast<decltype(args)>(args)...);
750
804
              }
751
804
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
3.84k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.84k
              cvref<T> obj = *get<T>(fn);
745
3.84k
              if constexpr (std::is_void_v<R>) {
746
3.84k
                  obj(static_cast<decltype(args)>(args)...);
747
3.84k
              }
748
3.84k
              else {
749
3.84k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.84k
              }
751
3.84k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
6.14k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.14k
              cvref<T> obj = *get<T>(fn);
745
6.14k
              if constexpr (std::is_void_v<R>) {
746
6.14k
                  obj(static_cast<decltype(args)>(args)...);
747
6.14k
              }
748
6.14k
              else {
749
6.14k
                  return obj(static_cast<decltype(args)>(args)...);
750
6.14k
              }
751
6.14k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
150k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
150k
              cvref<T> obj = *get<T>(fn);
745
150k
              if constexpr (std::is_void_v<R>) {
746
150k
                  obj(static_cast<decltype(args)>(args)...);
747
150k
              }
748
150k
              else {
749
150k
                  return obj(static_cast<decltype(args)>(args)...);
750
150k
              }
751
150k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
23.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
23.5k
              cvref<T> obj = *get<T>(fn);
745
23.5k
              if constexpr (std::is_void_v<R>) {
746
23.5k
                  obj(static_cast<decltype(args)>(args)...);
747
23.5k
              }
748
23.5k
              else {
749
23.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
23.5k
              }
751
23.5k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
5.91M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.91M
              cvref<T> obj = *get<T>(fn);
745
5.91M
              if constexpr (std::is_void_v<R>) {
746
5.91M
                  obj(static_cast<decltype(args)>(args)...);
747
5.91M
              }
748
5.91M
              else {
749
5.91M
                  return obj(static_cast<decltype(args)>(args)...);
750
5.91M
              }
751
5.91M
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
777k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
777k
              cvref<T> obj = *get<T>(fn);
745
777k
              if constexpr (std::is_void_v<R>) {
746
777k
                  obj(static_cast<decltype(args)>(args)...);
747
777k
              }
748
777k
              else {
749
777k
                  return obj(static_cast<decltype(args)>(args)...);
750
777k
              }
751
777k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
18.6M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.6M
              cvref<T> obj = *get<T>(fn);
745
18.6M
              if constexpr (std::is_void_v<R>) {
746
18.6M
                  obj(static_cast<decltype(args)>(args)...);
747
18.6M
              }
748
18.6M
              else {
749
18.6M
                  return obj(static_cast<decltype(args)>(args)...);
750
18.6M
              }
751
18.6M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
383k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
383k
              cvref<T> obj = *get<T>(fn);
745
383k
              if constexpr (std::is_void_v<R>) {
746
383k
                  obj(static_cast<decltype(args)>(args)...);
747
383k
              }
748
383k
              else {
749
383k
                  return obj(static_cast<decltype(args)>(args)...);
750
383k
              }
751
383k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
2
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2
              cvref<T> obj = *get<T>(fn);
745
2
              if constexpr (std::is_void_v<R>) {
746
2
                  obj(static_cast<decltype(args)>(args)...);
747
2
              }
748
2
              else {
749
2
                  return obj(static_cast<decltype(args)>(args)...);
750
2
              }
751
2
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
264
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
264
              cvref<T> obj = *get<T>(fn);
745
264
              if constexpr (std::is_void_v<R>) {
746
264
                  obj(static_cast<decltype(args)>(args)...);
747
264
              }
748
264
              else {
749
264
                  return obj(static_cast<decltype(args)>(args)...);
750
264
              }
751
264
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
146k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
146k
              cvref<T> obj = *get<T>(fn);
745
146k
              if constexpr (std::is_void_v<R>) {
746
146k
                  obj(static_cast<decltype(args)>(args)...);
747
146k
              }
748
146k
              else {
749
146k
                  return obj(static_cast<decltype(args)>(args)...);
750
146k
              }
751
146k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
23.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
23.4k
              cvref<T> obj = *get<T>(fn);
745
23.4k
              if constexpr (std::is_void_v<R>) {
746
23.4k
                  obj(static_cast<decltype(args)>(args)...);
747
23.4k
              }
748
23.4k
              else {
749
23.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
23.4k
              }
751
23.4k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clESW_c
Line
Count
Source
743
244k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
244k
              cvref<T> obj = *get<T>(fn);
745
244k
              if constexpr (std::is_void_v<R>) {
746
244k
                  obj(static_cast<decltype(args)>(args)...);
747
244k
              }
748
244k
              else {
749
244k
                  return obj(static_cast<decltype(args)>(args)...);
750
244k
              }
751
244k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
7.23M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.23M
              cvref<T> obj = *get<T>(fn);
745
7.23M
              if constexpr (std::is_void_v<R>) {
746
7.23M
                  obj(static_cast<decltype(args)>(args)...);
747
7.23M
              }
748
7.23M
              else {
749
7.23M
                  return obj(static_cast<decltype(args)>(args)...);
750
7.23M
              }
751
7.23M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
374k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
374k
              cvref<T> obj = *get<T>(fn);
745
374k
              if constexpr (std::is_void_v<R>) {
746
374k
                  obj(static_cast<decltype(args)>(args)...);
747
374k
              }
748
374k
              else {
749
374k
                  return obj(static_cast<decltype(args)>(args)...);
750
374k
              }
751
374k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
166k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
166k
              cvref<T> obj = *get<T>(fn);
745
166k
              if constexpr (std::is_void_v<R>) {
746
166k
                  obj(static_cast<decltype(args)>(args)...);
747
166k
              }
748
166k
              else {
749
166k
                  return obj(static_cast<decltype(args)>(args)...);
750
166k
              }
751
166k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
405k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
405k
              cvref<T> obj = *get<T>(fn);
745
405k
              if constexpr (std::is_void_v<R>) {
746
405k
                  obj(static_cast<decltype(args)>(args)...);
747
405k
              }
748
405k
              else {
749
405k
                  return obj(static_cast<decltype(args)>(args)...);
750
405k
              }
751
405k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
12
              cvref<T> obj = *get<T>(fn);
745
12
              if constexpr (std::is_void_v<R>) {
746
12
                  obj(static_cast<decltype(args)>(args)...);
747
12
              }
748
12
              else {
749
12
                  return obj(static_cast<decltype(args)>(args)...);
750
12
              }
751
12
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
254
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
254
              cvref<T> obj = *get<T>(fn);
745
254
              if constexpr (std::is_void_v<R>) {
746
254
                  obj(static_cast<decltype(args)>(args)...);
747
254
              }
748
254
              else {
749
254
                  return obj(static_cast<decltype(args)>(args)...);
750
254
              }
751
254
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
162k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
162k
              cvref<T> obj = *get<T>(fn);
745
162k
              if constexpr (std::is_void_v<R>) {
746
162k
                  obj(static_cast<decltype(args)>(args)...);
747
162k
              }
748
162k
              else {
749
162k
                  return obj(static_cast<decltype(args)>(args)...);
750
162k
              }
751
162k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
396k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
396k
              cvref<T> obj = *get<T>(fn);
745
396k
              if constexpr (std::is_void_v<R>) {
746
396k
                  obj(static_cast<decltype(args)>(args)...);
747
396k
              }
748
396k
              else {
749
396k
                  return obj(static_cast<decltype(args)>(args)...);
750
396k
              }
751
396k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
169k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
169k
              cvref<T> obj = *get<T>(fn);
745
169k
              if constexpr (std::is_void_v<R>) {
746
169k
                  obj(static_cast<decltype(args)>(args)...);
747
169k
              }
748
169k
              else {
749
169k
                  return obj(static_cast<decltype(args)>(args)...);
750
169k
              }
751
169k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
408k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
408k
              cvref<T> obj = *get<T>(fn);
745
408k
              if constexpr (std::is_void_v<R>) {
746
408k
                  obj(static_cast<decltype(args)>(args)...);
747
408k
              }
748
408k
              else {
749
408k
                  return obj(static_cast<decltype(args)>(args)...);
750
408k
              }
751
408k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
165k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
165k
              cvref<T> obj = *get<T>(fn);
745
165k
              if constexpr (std::is_void_v<R>) {
746
165k
                  obj(static_cast<decltype(args)>(args)...);
747
165k
              }
748
165k
              else {
749
165k
                  return obj(static_cast<decltype(args)>(args)...);
750
165k
              }
751
165k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
399k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
399k
              cvref<T> obj = *get<T>(fn);
745
399k
              if constexpr (std::is_void_v<R>) {
746
399k
                  obj(static_cast<decltype(args)>(args)...);
747
399k
              }
748
399k
              else {
749
399k
                  return obj(static_cast<decltype(args)>(args)...);
750
399k
              }
751
399k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
1.07M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.07M
              cvref<T> obj = *get<T>(fn);
745
1.07M
              if constexpr (std::is_void_v<R>) {
746
1.07M
                  obj(static_cast<decltype(args)>(args)...);
747
1.07M
              }
748
1.07M
              else {
749
1.07M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.07M
              }
751
1.07M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
5.94k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.94k
              cvref<T> obj = *get<T>(fn);
745
5.94k
              if constexpr (std::is_void_v<R>) {
746
5.94k
                  obj(static_cast<decltype(args)>(args)...);
747
5.94k
              }
748
5.94k
              else {
749
5.94k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.94k
              }
751
5.94k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
20.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.4k
              cvref<T> obj = *get<T>(fn);
745
20.4k
              if constexpr (std::is_void_v<R>) {
746
20.4k
                  obj(static_cast<decltype(args)>(args)...);
747
20.4k
              }
748
20.4k
              else {
749
20.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
20.4k
              }
751
20.4k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
3.18k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.18k
              cvref<T> obj = *get<T>(fn);
745
3.18k
              if constexpr (std::is_void_v<R>) {
746
3.18k
                  obj(static_cast<decltype(args)>(args)...);
747
3.18k
              }
748
3.18k
              else {
749
3.18k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.18k
              }
751
3.18k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
67.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
67.8k
              cvref<T> obj = *get<T>(fn);
745
67.8k
              if constexpr (std::is_void_v<R>) {
746
67.8k
                  obj(static_cast<decltype(args)>(args)...);
747
67.8k
              }
748
67.8k
              else {
749
67.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
67.8k
              }
751
67.8k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
2.05k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.05k
              cvref<T> obj = *get<T>(fn);
745
2.05k
              if constexpr (std::is_void_v<R>) {
746
2.05k
                  obj(static_cast<decltype(args)>(args)...);
747
2.05k
              }
748
2.05k
              else {
749
2.05k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.05k
              }
751
2.05k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
1.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.30k
              cvref<T> obj = *get<T>(fn);
745
1.30k
              if constexpr (std::is_void_v<R>) {
746
1.30k
                  obj(static_cast<decltype(args)>(args)...);
747
1.30k
              }
748
1.30k
              else {
749
1.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.30k
              }
751
1.30k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
478k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
478k
              cvref<T> obj = *get<T>(fn);
745
478k
              if constexpr (std::is_void_v<R>) {
746
478k
                  obj(static_cast<decltype(args)>(args)...);
747
478k
              }
748
478k
              else {
749
478k
                  return obj(static_cast<decltype(args)>(args)...);
750
478k
              }
751
478k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
16.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16.8k
              cvref<T> obj = *get<T>(fn);
745
16.8k
              if constexpr (std::is_void_v<R>) {
746
16.8k
                  obj(static_cast<decltype(args)>(args)...);
747
16.8k
              }
748
16.8k
              else {
749
16.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
16.8k
              }
751
16.8k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
3.18k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.18k
              cvref<T> obj = *get<T>(fn);
745
3.18k
              if constexpr (std::is_void_v<R>) {
746
3.18k
                  obj(static_cast<decltype(args)>(args)...);
747
3.18k
              }
748
3.18k
              else {
749
3.18k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.18k
              }
751
3.18k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
1.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.30k
              cvref<T> obj = *get<T>(fn);
745
1.30k
              if constexpr (std::is_void_v<R>) {
746
1.30k
                  obj(static_cast<decltype(args)>(args)...);
747
1.30k
              }
748
1.30k
              else {
749
1.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.30k
              }
751
1.30k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
3.18k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.18k
              cvref<T> obj = *get<T>(fn);
745
3.18k
              if constexpr (std::is_void_v<R>) {
746
3.18k
                  obj(static_cast<decltype(args)>(args)...);
747
3.18k
              }
748
3.18k
              else {
749
3.18k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.18k
              }
751
3.18k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Line
Count
Source
743
1.30k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.30k
              cvref<T> obj = *get<T>(fn);
745
1.30k
              if constexpr (std::is_void_v<R>) {
746
1.30k
                  obj(static_cast<decltype(args)>(args)...);
747
1.30k
              }
748
1.30k
              else {
749
1.30k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.30k
              }
751
1.30k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
8.91M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8.91M
              cvref<T> obj = *get<T>(fn);
745
8.91M
              if constexpr (std::is_void_v<R>) {
746
8.91M
                  obj(static_cast<decltype(args)>(args)...);
747
8.91M
              }
748
8.91M
              else {
749
8.91M
                  return obj(static_cast<decltype(args)>(args)...);
750
8.91M
              }
751
8.91M
          }),
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, wchar_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, wchar_t) const
Line
Count
Source
743
885k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
885k
              cvref<T> obj = *get<T>(fn);
745
885k
              if constexpr (std::is_void_v<R>) {
746
885k
                  obj(static_cast<decltype(args)>(args)...);
747
885k
              }
748
885k
              else {
749
885k
                  return obj(static_cast<decltype(args)>(args)...);
750
885k
              }
751
885k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
Line
Count
Source
743
314k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
314k
              cvref<T> obj = *get<T>(fn);
745
314k
              if constexpr (std::is_void_v<R>) {
746
314k
                  obj(static_cast<decltype(args)>(args)...);
747
314k
              }
748
314k
              else {
749
314k
                  return obj(static_cast<decltype(args)>(args)...);
750
314k
              }
751
314k
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
6.97k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.97k
              cvref<T> obj = *get<T>(fn);
745
6.97k
              if constexpr (std::is_void_v<R>) {
746
6.97k
                  obj(static_cast<decltype(args)>(args)...);
747
6.97k
              }
748
6.97k
              else {
749
6.97k
                  return obj(static_cast<decltype(args)>(args)...);
750
6.97k
              }
751
6.97k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
30
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
30
              cvref<T> obj = *get<T>(fn);
745
30
              if constexpr (std::is_void_v<R>) {
746
30
                  obj(static_cast<decltype(args)>(args)...);
747
30
              }
748
30
              else {
749
30
                  return obj(static_cast<decltype(args)>(args)...);
750
30
              }
751
30
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
264
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
264
              cvref<T> obj = *get<T>(fn);
745
264
              if constexpr (std::is_void_v<R>) {
746
264
                  obj(static_cast<decltype(args)>(args)...);
747
264
              }
748
264
              else {
749
264
                  return obj(static_cast<decltype(args)>(args)...);
750
264
              }
751
264
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
90
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
90
              cvref<T> obj = *get<T>(fn);
745
90
              if constexpr (std::is_void_v<R>) {
746
90
                  obj(static_cast<decltype(args)>(args)...);
747
90
              }
748
90
              else {
749
90
                  return obj(static_cast<decltype(args)>(args)...);
750
90
              }
751
90
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
119M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
119M
              cvref<T> obj = *get<T>(fn);
745
119M
              if constexpr (std::is_void_v<R>) {
746
119M
                  obj(static_cast<decltype(args)>(args)...);
747
119M
              }
748
119M
              else {
749
119M
                  return obj(static_cast<decltype(args)>(args)...);
750
119M
              }
751
119M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
65.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
65.1k
              cvref<T> obj = *get<T>(fn);
745
65.1k
              if constexpr (std::is_void_v<R>) {
746
65.1k
                  obj(static_cast<decltype(args)>(args)...);
747
65.1k
              }
748
65.1k
              else {
749
65.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
65.1k
              }
751
65.1k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
5.27k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.27k
              cvref<T> obj = *get<T>(fn);
745
5.27k
              if constexpr (std::is_void_v<R>) {
746
5.27k
                  obj(static_cast<decltype(args)>(args)...);
747
5.27k
              }
748
5.27k
              else {
749
5.27k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.27k
              }
751
5.27k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
323k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
323k
              cvref<T> obj = *get<T>(fn);
745
323k
              if constexpr (std::is_void_v<R>) {
746
323k
                  obj(static_cast<decltype(args)>(args)...);
747
323k
              }
748
323k
              else {
749
323k
                  return obj(static_cast<decltype(args)>(args)...);
750
323k
              }
751
323k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
56.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
56.9k
              cvref<T> obj = *get<T>(fn);
745
56.9k
              if constexpr (std::is_void_v<R>) {
746
56.9k
                  obj(static_cast<decltype(args)>(args)...);
747
56.9k
              }
748
56.9k
              else {
749
56.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
56.9k
              }
751
56.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
10
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10
              cvref<T> obj = *get<T>(fn);
745
10
              if constexpr (std::is_void_v<R>) {
746
10
                  obj(static_cast<decltype(args)>(args)...);
747
10
              }
748
10
              else {
749
10
                  return obj(static_cast<decltype(args)>(args)...);
750
10
              }
751
10
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clESW_w
Line
Count
Source
743
2.10k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.10k
              cvref<T> obj = *get<T>(fn);
745
2.10k
              if constexpr (std::is_void_v<R>) {
746
2.10k
                  obj(static_cast<decltype(args)>(args)...);
747
2.10k
              }
748
2.10k
              else {
749
2.10k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.10k
              }
751
2.10k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Line
Count
Source
743
165k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
165k
              cvref<T> obj = *get<T>(fn);
745
165k
              if constexpr (std::is_void_v<R>) {
746
165k
                  obj(static_cast<decltype(args)>(args)...);
747
165k
              }
748
165k
              else {
749
165k
                  return obj(static_cast<decltype(args)>(args)...);
750
165k
              }
751
165k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
56.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
56.9k
              cvref<T> obj = *get<T>(fn);
745
56.9k
              if constexpr (std::is_void_v<R>) {
746
56.9k
                  obj(static_cast<decltype(args)>(args)...);
747
56.9k
              }
748
56.9k
              else {
749
56.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
56.9k
              }
751
56.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
56.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
56.9k
              cvref<T> obj = *get<T>(fn);
745
56.9k
              if constexpr (std::is_void_v<R>) {
746
56.9k
                  obj(static_cast<decltype(args)>(args)...);
747
56.9k
              }
748
56.9k
              else {
749
56.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
56.9k
              }
751
56.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
10
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10
              cvref<T> obj = *get<T>(fn);
745
10
              if constexpr (std::is_void_v<R>) {
746
10
                  obj(static_cast<decltype(args)>(args)...);
747
10
              }
748
10
              else {
749
10
                  return obj(static_cast<decltype(args)>(args)...);
750
10
              }
751
10
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
57.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
57.4k
              cvref<T> obj = *get<T>(fn);
745
57.4k
              if constexpr (std::is_void_v<R>) {
746
57.4k
                  obj(static_cast<decltype(args)>(args)...);
747
57.4k
              }
748
57.4k
              else {
749
57.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
57.4k
              }
751
57.4k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
57.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
57.0k
              cvref<T> obj = *get<T>(fn);
745
57.0k
              if constexpr (std::is_void_v<R>) {
746
57.0k
                  obj(static_cast<decltype(args)>(args)...);
747
57.0k
              }
748
57.0k
              else {
749
57.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
57.0k
              }
751
57.0k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
14.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.9k
              cvref<T> obj = *get<T>(fn);
745
14.9k
              if constexpr (std::is_void_v<R>) {
746
14.9k
                  obj(static_cast<decltype(args)>(args)...);
747
14.9k
              }
748
14.9k
              else {
749
14.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.9k
              }
751
14.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
57.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
57.0k
              cvref<T> obj = *get<T>(fn);
745
57.0k
              if constexpr (std::is_void_v<R>) {
746
57.0k
                  obj(static_cast<decltype(args)>(args)...);
747
57.0k
              }
748
57.0k
              else {
749
57.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
57.0k
              }
751
57.0k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
175M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
175M
              cvref<T> obj = *get<T>(fn);
745
175M
              if constexpr (std::is_void_v<R>) {
746
175M
                  obj(static_cast<decltype(args)>(args)...);
747
175M
              }
748
175M
              else {
749
175M
                  return obj(static_cast<decltype(args)>(args)...);
750
175M
              }
751
175M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
3.16k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.16k
              cvref<T> obj = *get<T>(fn);
745
3.16k
              if constexpr (std::is_void_v<R>) {
746
3.16k
                  obj(static_cast<decltype(args)>(args)...);
747
3.16k
              }
748
3.16k
              else {
749
3.16k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.16k
              }
751
3.16k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
84
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
84
              cvref<T> obj = *get<T>(fn);
745
84
              if constexpr (std::is_void_v<R>) {
746
84
                  obj(static_cast<decltype(args)>(args)...);
747
84
              }
748
84
              else {
749
84
                  return obj(static_cast<decltype(args)>(args)...);
750
84
              }
751
84
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
350M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350M
              cvref<T> obj = *get<T>(fn);
745
350M
              if constexpr (std::is_void_v<R>) {
746
350M
                  obj(static_cast<decltype(args)>(args)...);
747
350M
              }
748
350M
              else {
749
350M
                  return obj(static_cast<decltype(args)>(args)...);
750
350M
              }
751
350M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
6.33k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.33k
              cvref<T> obj = *get<T>(fn);
745
6.33k
              if constexpr (std::is_void_v<R>) {
746
6.33k
                  obj(static_cast<decltype(args)>(args)...);
747
6.33k
              }
748
6.33k
              else {
749
6.33k
                  return obj(static_cast<decltype(args)>(args)...);
750
6.33k
              }
751
6.33k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
60.1M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
60.1M
              cvref<T> obj = *get<T>(fn);
745
60.1M
              if constexpr (std::is_void_v<R>) {
746
60.1M
                  obj(static_cast<decltype(args)>(args)...);
747
60.1M
              }
748
60.1M
              else {
749
60.1M
                  return obj(static_cast<decltype(args)>(args)...);
750
60.1M
              }
751
60.1M
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
96.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
96.0k
              cvref<T> obj = *get<T>(fn);
745
96.0k
              if constexpr (std::is_void_v<R>) {
746
96.0k
                  obj(static_cast<decltype(args)>(args)...);
747
96.0k
              }
748
96.0k
              else {
749
96.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
96.0k
              }
751
96.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
220k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
220k
              cvref<T> obj = *get<T>(fn);
745
220k
              if constexpr (std::is_void_v<R>) {
746
220k
                  obj(static_cast<decltype(args)>(args)...);
747
220k
              }
748
220k
              else {
749
220k
                  return obj(static_cast<decltype(args)>(args)...);
750
220k
              }
751
220k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
244k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
244k
              cvref<T> obj = *get<T>(fn);
745
244k
              if constexpr (std::is_void_v<R>) {
746
244k
                  obj(static_cast<decltype(args)>(args)...);
747
244k
              }
748
244k
              else {
749
244k
                  return obj(static_cast<decltype(args)>(args)...);
750
244k
              }
751
244k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
247k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
247k
              cvref<T> obj = *get<T>(fn);
745
247k
              if constexpr (std::is_void_v<R>) {
746
247k
                  obj(static_cast<decltype(args)>(args)...);
747
247k
              }
748
247k
              else {
749
247k
                  return obj(static_cast<decltype(args)>(args)...);
750
247k
              }
751
247k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
205k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
205k
              cvref<T> obj = *get<T>(fn);
745
205k
              if constexpr (std::is_void_v<R>) {
746
205k
                  obj(static_cast<decltype(args)>(args)...);
747
205k
              }
748
205k
              else {
749
205k
                  return obj(static_cast<decltype(args)>(args)...);
750
205k
              }
751
205k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
227k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
227k
              cvref<T> obj = *get<T>(fn);
745
227k
              if constexpr (std::is_void_v<R>) {
746
227k
                  obj(static_cast<decltype(args)>(args)...);
747
227k
              }
748
227k
              else {
749
227k
                  return obj(static_cast<decltype(args)>(args)...);
750
227k
              }
751
227k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
230k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
230k
              cvref<T> obj = *get<T>(fn);
745
230k
              if constexpr (std::is_void_v<R>) {
746
230k
                  obj(static_cast<decltype(args)>(args)...);
747
230k
              }
748
230k
              else {
749
230k
                  return obj(static_cast<decltype(args)>(args)...);
750
230k
              }
751
230k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
22.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.3k
              cvref<T> obj = *get<T>(fn);
745
22.3k
              if constexpr (std::is_void_v<R>) {
746
22.3k
                  obj(static_cast<decltype(args)>(args)...);
747
22.3k
              }
748
22.3k
              else {
749
22.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.3k
              }
751
22.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
22.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.9k
              cvref<T> obj = *get<T>(fn);
745
22.9k
              if constexpr (std::is_void_v<R>) {
746
22.9k
                  obj(static_cast<decltype(args)>(args)...);
747
22.9k
              }
748
22.9k
              else {
749
22.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.9k
              }
751
22.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
22.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.4k
              cvref<T> obj = *get<T>(fn);
745
22.4k
              if constexpr (std::is_void_v<R>) {
746
22.4k
                  obj(static_cast<decltype(args)>(args)...);
747
22.4k
              }
748
22.4k
              else {
749
22.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.4k
              }
751
22.4k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
22.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.3k
              cvref<T> obj = *get<T>(fn);
745
22.3k
              if constexpr (std::is_void_v<R>) {
746
22.3k
                  obj(static_cast<decltype(args)>(args)...);
747
22.3k
              }
748
22.3k
              else {
749
22.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.3k
              }
751
22.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
22.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.3k
              cvref<T> obj = *get<T>(fn);
745
22.3k
              if constexpr (std::is_void_v<R>) {
746
22.3k
                  obj(static_cast<decltype(args)>(args)...);
747
22.3k
              }
748
22.3k
              else {
749
22.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.3k
              }
751
22.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
22.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.4k
              cvref<T> obj = *get<T>(fn);
745
22.4k
              if constexpr (std::is_void_v<R>) {
746
22.4k
                  obj(static_cast<decltype(args)>(args)...);
747
22.4k
              }
748
22.4k
              else {
749
22.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.4k
              }
751
22.4k
          }),
752
          m_storage(std::addressof(f))
753
217M
    {
754
217M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)
Line
Count
Source
753
7.54M
    {
754
7.54M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)
Line
Count
Source
753
66.8M
    {
754
66.8M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_
Line
Count
Source
753
1.65M
    {
754
1.65M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
29.8k
    {
754
29.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_
Line
Count
Source
753
804
    {
754
804
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Line
Count
Source
753
3.18k
    {
754
3.18k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
2.21k
    {
754
2.21k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
150k
    {
754
150k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_
Line
Count
Source
753
3.81k
    {
754
3.81k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
1.14M
    {
754
1.14M
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_
Line
Count
Source
753
244k
    {
754
244k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
3.22M
    {
754
3.22M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
383k
    {
754
383k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
2
    {
754
2
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
264
    {
754
264
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
146k
    {
754
146k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_
Line
Count
Source
753
3.78k
    {
754
3.78k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_
Line
Count
Source
753
78.6k
    {
754
78.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
1.17M
    {
754
1.17M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
374k
    {
754
374k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
166k
    {
754
166k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
405k
    {
754
405k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
12
    {
754
12
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
254
    {
754
254
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
162k
    {
754
162k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
396k
    {
754
396k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
169k
    {
754
169k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
408k
    {
754
408k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
165k
    {
754
165k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
399k
    {
754
399k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
155k
    {
754
155k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_
Line
Count
Source
753
2.39k
    {
754
2.39k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
738
    {
754
738
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
88
    {
754
88
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
492
    {
754
492
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_
Line
Count
Source
753
174
    {
754
174
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
38
    {
754
38
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
2.77k
    {
754
2.77k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_
Line
Count
Source
753
5.16k
    {
754
5.16k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
88
    {
754
88
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
38
    {
754
38
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Line
Count
Source
753
88
    {
754
88
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
38
    {
754
38
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
4.34M
    {
754
4.34M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)
Line
Count
Source
753
796k
    {
754
796k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_
Line
Count
Source
753
303k
    {
754
303k
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
3.91k
    {
754
3.91k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_
Line
Count
Source
753
30
    {
754
30
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Line
Count
Source
753
236
    {
754
236
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
90
    {
754
90
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
41.5M
    {
754
41.5M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
54.3k
    {
754
54.3k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_
Line
Count
Source
753
2.44k
    {
754
2.44k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
279k
    {
754
279k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
56.9k
    {
754
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
10
    {
754
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_
Line
Count
Source
753
1.01k
    {
754
1.01k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
145k
    {
754
145k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
56.9k
    {
754
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
56.9k
    {
754
56.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
10
    {
754
10
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
57.4k
    {
754
57.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
57.0k
    {
754
57.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
14.9k
    {
754
14.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
57.0k
    {
754
57.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
20.3M
    {
754
20.3M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_
Line
Count
Source
753
3.15k
    {
754
3.15k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
40.7M
    {
754
40.7M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_
Line
Count
Source
753
6.30k
    {
754
6.30k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
21.0M
    {
754
21.0M
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
45.0k
    {
754
45.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
220k
    {
754
220k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
244k
    {
754
244k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
247k
    {
754
247k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
205k
    {
754
205k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
227k
    {
754
227k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
230k
    {
754
230k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
22.3k
    {
754
22.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
22.9k
    {
754
22.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
22.4k
    {
754
22.4k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
22.3k
    {
754
22.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
22.3k
    {
754
22.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
22.4k
    {
754
22.4k
    }
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
991M
    {
763
991M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
991M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
78.8M
    {
763
78.8M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
78.8M
    }
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
905M
    {
763
905M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
905M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
45.1k
    {
763
45.1k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
45.1k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
2.34M
    {
763
2.34M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.34M
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
266
    {
763
266
        return m_fptr(m_storage, SCN_FWD(args)...);
764
266
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
2.35M
    {
763
2.35M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.35M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
1.77M
    {
763
1.77M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.77M
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
282k
    {
763
282k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
282k
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
10
    {
763
10
        return m_fptr(m_storage, SCN_FWD(args)...);
764
10
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
284k
    {
763
284k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
284k
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
131M
{
784
131M
    return e != eof_error::good;
785
131M
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
131k
{
798
131k
    SCN_EXPECT(err == eof_error::eof);
799
131k
    return scan_error{scan_error::end_of_range, "EOF"};
800
131k
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
    constexpr parse_error(code c) : m_code(c)
808
56.7M
    {
809
56.7M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
56.7M
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
20.4M
    {
823
20.4M
        return a.m_code == b.m_code;
824
20.4M
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
0
    {
827
0
        return !(a == b);
828
0
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
340k
{
845
340k
    SCN_EXPECT(err == eof_error::eof);
846
340k
    return parse_error::eof;
847
340k
}
848
849
inline constexpr scan_error make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
5.82M
{
854
5.82M
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
5.82M
    if (err == parse_error::eof) {
859
85.8k
        return scan_error{scan_error::end_of_range, "EOF"};
860
85.8k
    }
861
862
5.73M
    return scan_error{code, msg};
863
5.82M
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
7.39M
{
868
7.39M
    return [code, msg](parse_error err) {
869
5.82M
        return make_scan_error_from_parse_error(err, code, msg);
870
5.82M
    };
871
7.39M
}
872
}  // namespace impl
873
874
namespace detail {
875
template <typename T>
876
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
877
}  // namespace detail
878
879
/////////////////////////////////////////////////////////////////
880
// Range reading support
881
/////////////////////////////////////////////////////////////////
882
883
namespace impl {
884
#if SCN_MSVC_DEBUG_ITERATORS
885
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
886
#else
887
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
888
#endif
889
890
template <typename T>
891
constexpr bool range_supports_nocopy() noexcept
892
{
893
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
894
    return ranges::contiguous_range<T> ||
895
           (ranges::random_access_range<T> &&
896
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
897
#else
898
    return ranges::contiguous_range<T>;
899
#endif
900
}
901
902
template <typename R>
903
constexpr auto range_nocopy_data(const R& r) noexcept
904
{
905
    static_assert(range_supports_nocopy<R>());
906
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
907
    return detail::to_address(ranges::begin(r));
908
#else
909
    return ranges::data(r);
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_size(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
919
                                                detail::to_address(r.end())));
920
#else
921
    return r.size();
922
#endif
923
}
924
925
template <typename I, typename S>
926
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
927
1.14G
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.14G
    {
937
1.14G
        return begin == end;
938
1.14G
    }
939
1.14G
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
25.5M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
25.5M
    {
937
25.5M
        return begin == end;
938
25.5M
    }
939
25.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
927
101k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
101k
    {
937
101k
        return begin == end;
938
101k
    }
939
101k
}
bool scn::v3::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
927
14.7M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
14.7M
    {
937
14.7M
        return begin == end;
938
14.7M
    }
939
14.7M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
269M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
269M
    {
937
269M
        return begin == end;
938
269M
    }
939
269M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
927
836M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
836M
    {
937
836M
        return begin == end;
938
836M
    }
939
836M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
927
324
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
324
    {
937
324
        return begin == end;
938
324
    }
939
324
}
940
941
template <typename Range>
942
SCN_NODISCARD constexpr bool is_range_eof(Range r)
943
847M
{
944
847M
    return is_range_eof(r.begin(), r.end());
945
847M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
25.5M
{
944
25.5M
    return is_range_eof(r.begin(), r.end());
945
25.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
943
1.89k
{
944
1.89k
    return is_range_eof(r.begin(), r.end());
945
1.89k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
943
99.5k
{
944
99.5k
    return is_range_eof(r.begin(), r.end());
945
99.5k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
943
14.6M
{
944
14.6M
    return is_range_eof(r.begin(), r.end());
945
14.6M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
269M
{
944
269M
    return is_range_eof(r.begin(), r.end());
945
269M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
943
537M
{
944
537M
    return is_range_eof(r.begin(), r.end());
945
537M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
943
70
{
944
70
    return is_range_eof(r.begin(), r.end());
945
70
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
943
254
{
944
254
    return is_range_eof(r.begin(), r.end());
945
254
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
946
947
template <typename Range>
948
SCN_NODISCARD constexpr eof_error eof_check(Range range)
949
131M
{
950
131M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
170k
        return eof_error::eof;
952
170k
    }
953
130M
    return eof_error::good;
954
131M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
15.5M
{
950
15.5M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
84.7k
        return eof_error::eof;
952
84.7k
    }
953
15.4M
    return eof_error::good;
954
15.5M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
949
1.89k
{
950
1.89k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
1.89k
    return eof_error::good;
954
1.89k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
949
1.93k
{
950
1.93k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
86
        return eof_error::eof;
952
86
    }
953
1.84k
    return eof_error::good;
954
1.93k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
949
14.1M
{
950
14.1M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
62.5k
        return eof_error::eof;
952
62.5k
    }
953
14.1M
    return eof_error::good;
954
14.1M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
34.2M
{
950
34.2M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
9.74k
        return eof_error::eof;
952
9.74k
    }
953
34.2M
    return eof_error::good;
954
34.2M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
949
67.1M
{
950
67.1M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
13.8k
        return eof_error::eof;
952
13.8k
    }
953
67.1M
    return eof_error::good;
954
67.1M
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
949
70
{
950
70
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
70
    return eof_error::good;
954
70
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
949
80
{
950
80
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
80
    return eof_error::good;
954
80
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
955
956
template <typename Range>
957
bool is_entire_source_contiguous(Range r)
958
10.3k
{
959
10.3k
    if constexpr (ranges::contiguous_range<Range> &&
960
10.3k
                  ranges::sized_range<Range>) {
961
444
        return true;
962
444
    }
963
444
    else if constexpr (std::is_same_v<
964
444
                           ranges::const_iterator_t<Range>,
965
444
                           typename detail::basic_scan_buffer<
966
444
                               detail::char_t<Range>>::forward_iterator>) {
967
444
        auto beg = r.begin();
968
444
        if (!beg.stores_parent()) {
969
0
            return true;
970
0
        }
971
0
        return beg.parent()->is_contiguous();
972
0
    }
973
444
    else {
974
444
        return false;
975
444
    }
976
10.3k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
958
444
{
959
444
    if constexpr (ranges::contiguous_range<Range> &&
960
444
                  ranges::sized_range<Range>) {
961
444
        return true;
962
444
    }
963
444
    else if constexpr (std::is_same_v<
964
444
                           ranges::const_iterator_t<Range>,
965
444
                           typename detail::basic_scan_buffer<
966
444
                               detail::char_t<Range>>::forward_iterator>) {
967
444
        auto beg = r.begin();
968
444
        if (!beg.stores_parent()) {
969
444
            return true;
970
444
        }
971
444
        return beg.parent()->is_contiguous();
972
444
    }
973
444
    else {
974
444
        return false;
975
444
    }
976
444
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
958
9.66k
{
959
9.66k
    if constexpr (ranges::contiguous_range<Range> &&
960
9.66k
                  ranges::sized_range<Range>) {
961
9.66k
        return true;
962
9.66k
    }
963
9.66k
    else if constexpr (std::is_same_v<
964
9.66k
                           ranges::const_iterator_t<Range>,
965
9.66k
                           typename detail::basic_scan_buffer<
966
9.66k
                               detail::char_t<Range>>::forward_iterator>) {
967
9.66k
        auto beg = r.begin();
968
9.66k
        if (!beg.stores_parent()) {
969
9.66k
            return true;
970
9.66k
        }
971
9.66k
        return beg.parent()->is_contiguous();
972
9.66k
    }
973
9.66k
    else {
974
9.66k
        return false;
975
9.66k
    }
976
9.66k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
958
192
{
959
192
    if constexpr (ranges::contiguous_range<Range> &&
960
192
                  ranges::sized_range<Range>) {
961
192
        return true;
962
192
    }
963
192
    else if constexpr (std::is_same_v<
964
192
                           ranges::const_iterator_t<Range>,
965
192
                           typename detail::basic_scan_buffer<
966
192
                               detail::char_t<Range>>::forward_iterator>) {
967
192
        auto beg = r.begin();
968
192
        if (!beg.stores_parent()) {
969
192
            return true;
970
192
        }
971
192
        return beg.parent()->is_contiguous();
972
192
    }
973
192
    else {
974
192
        return false;
975
192
    }
976
192
}
977
978
template <typename Range>
979
bool is_segment_contiguous(Range r)
980
25.7M
{
981
25.7M
    if constexpr (ranges::contiguous_range<Range> &&
982
25.7M
                  ranges::sized_range<Range>) {
983
25.7M
        return true;
984
25.7M
    }
985
25.7M
    else if constexpr (std::is_same_v<
986
25.7M
                           ranges::const_iterator_t<Range>,
987
25.7M
                           typename detail::basic_scan_buffer<
988
25.7M
                               detail::char_t<Range>>::forward_iterator>) {
989
0
        auto beg = r.begin();
990
25.7M
        if (beg.contiguous_segment().empty()) {
991
25.7M
            return false;
992
25.7M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
0
    else {
1006
0
        return false;
1007
0
    }
1008
25.7M
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
4.72M
{
981
4.72M
    if constexpr (ranges::contiguous_range<Range> &&
982
4.72M
                  ranges::sized_range<Range>) {
983
4.72M
        return true;
984
4.72M
    }
985
4.72M
    else if constexpr (std::is_same_v<
986
4.72M
                           ranges::const_iterator_t<Range>,
987
4.72M
                           typename detail::basic_scan_buffer<
988
4.72M
                               detail::char_t<Range>>::forward_iterator>) {
989
4.72M
        auto beg = r.begin();
990
4.72M
        if (beg.contiguous_segment().empty()) {
991
4.72M
            return false;
992
4.72M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
4.72M
    else {
1006
4.72M
        return false;
1007
4.72M
    }
1008
4.72M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
980
9.66k
{
981
9.66k
    if constexpr (ranges::contiguous_range<Range> &&
982
9.66k
                  ranges::sized_range<Range>) {
983
9.66k
        return true;
984
9.66k
    }
985
9.66k
    else if constexpr (std::is_same_v<
986
9.66k
                           ranges::const_iterator_t<Range>,
987
9.66k
                           typename detail::basic_scan_buffer<
988
9.66k
                               detail::char_t<Range>>::forward_iterator>) {
989
9.66k
        auto beg = r.begin();
990
9.66k
        if (beg.contiguous_segment().empty()) {
991
9.66k
            return false;
992
9.66k
        }
993
9.66k
        if constexpr (ranges::common_range<Range>) {
994
9.66k
            return beg.contiguous_segment().end() ==
995
9.66k
                   ranges::end(r).contiguous_segment().end();
996
9.66k
        }
997
9.66k
        else {
998
9.66k
            if (beg.stores_parent()) {
999
9.66k
                return beg.contiguous_segment().end() ==
1000
9.66k
                       beg.parent()->current_view().end();
1001
9.66k
            }
1002
9.66k
            return true;
1003
9.66k
        }
1004
9.66k
    }
1005
9.66k
    else {
1006
9.66k
        return false;
1007
9.66k
    }
1008
9.66k
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
21.0M
{
981
21.0M
    if constexpr (ranges::contiguous_range<Range> &&
982
21.0M
                  ranges::sized_range<Range>) {
983
21.0M
        return true;
984
21.0M
    }
985
21.0M
    else if constexpr (std::is_same_v<
986
21.0M
                           ranges::const_iterator_t<Range>,
987
21.0M
                           typename detail::basic_scan_buffer<
988
21.0M
                               detail::char_t<Range>>::forward_iterator>) {
989
21.0M
        auto beg = r.begin();
990
21.0M
        if (beg.contiguous_segment().empty()) {
991
21.0M
            return false;
992
21.0M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
21.0M
    else {
1006
21.0M
        return false;
1007
21.0M
    }
1008
21.0M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
980
192
{
981
192
    if constexpr (ranges::contiguous_range<Range> &&
982
192
                  ranges::sized_range<Range>) {
983
192
        return true;
984
192
    }
985
192
    else if constexpr (std::is_same_v<
986
192
                           ranges::const_iterator_t<Range>,
987
192
                           typename detail::basic_scan_buffer<
988
192
                               detail::char_t<Range>>::forward_iterator>) {
989
192
        auto beg = r.begin();
990
192
        if (beg.contiguous_segment().empty()) {
991
192
            return false;
992
192
        }
993
192
        if constexpr (ranges::common_range<Range>) {
994
192
            return beg.contiguous_segment().end() ==
995
192
                   ranges::end(r).contiguous_segment().end();
996
192
        }
997
192
        else {
998
192
            if (beg.stores_parent()) {
999
192
                return beg.contiguous_segment().end() ==
1000
192
                       beg.parent()->current_view().end();
1001
192
            }
1002
192
            return true;
1003
192
        }
1004
192
    }
1005
192
    else {
1006
192
        return false;
1007
192
    }
1008
192
}
1009
1010
template <typename Range>
1011
std::size_t contiguous_beginning_size(Range r)
1012
{
1013
    if constexpr (ranges::contiguous_range<Range> &&
1014
                  ranges::sized_range<Range>) {
1015
        return r.size();
1016
    }
1017
    else if constexpr (std::is_same_v<
1018
                           ranges::const_iterator_t<Range>,
1019
                           typename detail::basic_scan_buffer<
1020
                               detail::char_t<Range>>::forward_iterator>) {
1021
        if constexpr (ranges::common_range<Range>) {
1022
            auto seg = r.begin().contiguous_segment();
1023
            auto dist =
1024
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1025
            return std::min(seg.size(), dist);
1026
        }
1027
        else {
1028
            return r.begin().contiguous_segment().size();
1029
        }
1030
    }
1031
    else {
1032
        return false;
1033
    }
1034
}
1035
1036
template <typename Range>
1037
auto get_contiguous_beginning(Range r)
1038
4.87M
{
1039
4.87M
    if constexpr (ranges::contiguous_range<Range> &&
1040
4.87M
                  ranges::sized_range<Range>) {
1041
4.87M
        return r;
1042
4.87M
    }
1043
4.87M
    else if constexpr (std::is_same_v<
1044
4.87M
                           ranges::const_iterator_t<Range>,
1045
4.87M
                           typename detail::basic_scan_buffer<
1046
4.87M
                               detail::char_t<Range>>::forward_iterator>) {
1047
4.86M
        if constexpr (ranges::common_range<Range>) {
1048
4.86M
            auto seg = r.begin().contiguous_segment();
1049
4.86M
            auto dist =
1050
4.86M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
4.86M
            return seg.substr(0, std::min(seg.size(), dist));
1052
4.86M
        }
1053
4.86M
        else {
1054
4.86M
            return r.begin().contiguous_segment();
1055
4.86M
        }
1056
4.86M
    }
1057
2.94k
    else {
1058
2.94k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
2.94k
    }
1060
4.87M
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1038
2.94k
{
1039
2.94k
    if constexpr (ranges::contiguous_range<Range> &&
1040
2.94k
                  ranges::sized_range<Range>) {
1041
2.94k
        return r;
1042
2.94k
    }
1043
2.94k
    else if constexpr (std::is_same_v<
1044
2.94k
                           ranges::const_iterator_t<Range>,
1045
2.94k
                           typename detail::basic_scan_buffer<
1046
2.94k
                               detail::char_t<Range>>::forward_iterator>) {
1047
2.94k
        if constexpr (ranges::common_range<Range>) {
1048
2.94k
            auto seg = r.begin().contiguous_segment();
1049
2.94k
            auto dist =
1050
2.94k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
2.94k
            return seg.substr(0, std::min(seg.size(), dist));
1052
2.94k
        }
1053
2.94k
        else {
1054
2.94k
            return r.begin().contiguous_segment();
1055
2.94k
        }
1056
2.94k
    }
1057
2.94k
    else {
1058
2.94k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
2.94k
    }
1060
2.94k
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1038
4.86M
{
1039
4.86M
    if constexpr (ranges::contiguous_range<Range> &&
1040
4.86M
                  ranges::sized_range<Range>) {
1041
4.86M
        return r;
1042
4.86M
    }
1043
4.86M
    else if constexpr (std::is_same_v<
1044
4.86M
                           ranges::const_iterator_t<Range>,
1045
4.86M
                           typename detail::basic_scan_buffer<
1046
4.86M
                               detail::char_t<Range>>::forward_iterator>) {
1047
4.86M
        if constexpr (ranges::common_range<Range>) {
1048
4.86M
            auto seg = r.begin().contiguous_segment();
1049
4.86M
            auto dist =
1050
4.86M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
4.86M
            return seg.substr(0, std::min(seg.size(), dist));
1052
4.86M
        }
1053
4.86M
        else {
1054
4.86M
            return r.begin().contiguous_segment();
1055
4.86M
        }
1056
4.86M
    }
1057
4.86M
    else {
1058
4.86M
        return std::basic_string_view<detail::char_t<Range>>{};
1059
4.86M
    }
1060
4.86M
}
1061
1062
template <typename Range>
1063
auto get_as_contiguous(Range r)
1064
9.85k
{
1065
9.85k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
9.85k
    if constexpr (ranges::contiguous_range<Range> &&
1068
9.85k
                  ranges::sized_range<Range>) {
1069
0
        return r;
1070
0
    }
1071
0
    else if constexpr (std::is_same_v<
1072
0
                           ranges::const_iterator_t<Range>,
1073
0
                           typename detail::basic_scan_buffer<
1074
0
                               detail::char_t<Range>>::forward_iterator>) {
1075
0
        if constexpr (ranges::common_range<Range>) {
1076
0
            return detail::make_string_view_from_pointers(
1077
0
                r.begin().to_contiguous_segment_iterator(),
1078
0
                r.end().to_contiguous_segment_iterator());
1079
0
        }
1080
0
        else {
1081
0
            return r.begin().contiguous_segment();
1082
0
        }
1083
0
    }
1084
0
    else {
1085
0
        SCN_EXPECT(false);
1086
0
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
0
        return std::basic_string_view<detail::char_t<Range>>{};
1089
0
    }
1090
9.85k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1064
9.66k
{
1065
9.66k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
9.66k
    if constexpr (ranges::contiguous_range<Range> &&
1068
9.66k
                  ranges::sized_range<Range>) {
1069
9.66k
        return r;
1070
9.66k
    }
1071
9.66k
    else if constexpr (std::is_same_v<
1072
9.66k
                           ranges::const_iterator_t<Range>,
1073
9.66k
                           typename detail::basic_scan_buffer<
1074
9.66k
                               detail::char_t<Range>>::forward_iterator>) {
1075
9.66k
        if constexpr (ranges::common_range<Range>) {
1076
9.66k
            return detail::make_string_view_from_pointers(
1077
9.66k
                r.begin().to_contiguous_segment_iterator(),
1078
9.66k
                r.end().to_contiguous_segment_iterator());
1079
9.66k
        }
1080
9.66k
        else {
1081
9.66k
            return r.begin().contiguous_segment();
1082
9.66k
        }
1083
9.66k
    }
1084
9.66k
    else {
1085
9.66k
        SCN_EXPECT(false);
1086
9.66k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
9.66k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
9.66k
    }
1090
9.66k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
1064
192
{
1065
192
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
192
    if constexpr (ranges::contiguous_range<Range> &&
1068
192
                  ranges::sized_range<Range>) {
1069
192
        return r;
1070
192
    }
1071
192
    else if constexpr (std::is_same_v<
1072
192
                           ranges::const_iterator_t<Range>,
1073
192
                           typename detail::basic_scan_buffer<
1074
192
                               detail::char_t<Range>>::forward_iterator>) {
1075
192
        if constexpr (ranges::common_range<Range>) {
1076
192
            return detail::make_string_view_from_pointers(
1077
192
                r.begin().to_contiguous_segment_iterator(),
1078
192
                r.end().to_contiguous_segment_iterator());
1079
192
        }
1080
192
        else {
1081
192
            return r.begin().contiguous_segment();
1082
192
        }
1083
192
    }
1084
192
    else {
1085
192
        SCN_EXPECT(false);
1086
192
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
192
        return std::basic_string_view<detail::char_t<Range>>{};
1089
192
    }
1090
192
}
1091
1092
template <typename Range>
1093
std::size_t guaranteed_minimum_size(Range r)
1094
9.26M
{
1095
9.26M
    if constexpr (ranges::sized_range<Range>) {
1096
9.26M
        return r.size();
1097
9.26M
    }
1098
9.26M
    else if constexpr (std::is_same_v<
1099
9.26M
                           ranges::const_iterator_t<Range>,
1100
9.26M
                           typename detail::basic_scan_buffer<
1101
9.26M
                               detail::char_t<Range>>::forward_iterator>) {
1102
9.25M
        if constexpr (ranges::common_range<Range>) {
1103
9.25M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
9.25M
        }
1105
9.25M
        else {
1106
9.25M
            if (r.begin().stores_parent()) {
1107
9.25M
                return static_cast<size_t>(
1108
9.25M
                    r.begin().parent()->chars_available() -
1109
9.25M
                    r.begin().position());
1110
9.25M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
9.25M
        }
1113
9.25M
    }
1114
2.22k
    else {
1115
2.22k
        return 0;
1116
2.22k
    }
1117
9.26M
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
8.25M
{
1095
8.25M
    if constexpr (ranges::sized_range<Range>) {
1096
8.25M
        return r.size();
1097
8.25M
    }
1098
8.25M
    else if constexpr (std::is_same_v<
1099
8.25M
                           ranges::const_iterator_t<Range>,
1100
8.25M
                           typename detail::basic_scan_buffer<
1101
8.25M
                               detail::char_t<Range>>::forward_iterator>) {
1102
8.25M
        if constexpr (ranges::common_range<Range>) {
1103
8.25M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
8.25M
        }
1105
8.25M
        else {
1106
8.25M
            if (r.begin().stores_parent()) {
1107
8.25M
                return static_cast<size_t>(
1108
8.25M
                    r.begin().parent()->chars_available() -
1109
8.25M
                    r.begin().position());
1110
8.25M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
8.25M
        }
1113
8.25M
    }
1114
8.25M
    else {
1115
8.25M
        return 0;
1116
8.25M
    }
1117
8.25M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1094
1.44k
{
1095
1.44k
    if constexpr (ranges::sized_range<Range>) {
1096
1.44k
        return r.size();
1097
1.44k
    }
1098
1.44k
    else if constexpr (std::is_same_v<
1099
1.44k
                           ranges::const_iterator_t<Range>,
1100
1.44k
                           typename detail::basic_scan_buffer<
1101
1.44k
                               detail::char_t<Range>>::forward_iterator>) {
1102
1.44k
        if constexpr (ranges::common_range<Range>) {
1103
1.44k
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
1.44k
        }
1105
1.44k
        else {
1106
1.44k
            if (r.begin().stores_parent()) {
1107
1.44k
                return static_cast<size_t>(
1108
1.44k
                    r.begin().parent()->chars_available() -
1109
1.44k
                    r.begin().position());
1110
1.44k
            }
1111
1.44k
            return r.begin().contiguous_segment().size();
1112
1.44k
        }
1113
1.44k
    }
1114
1.44k
    else {
1115
1.44k
        return 0;
1116
1.44k
    }
1117
1.44k
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
1.00M
{
1095
1.00M
    if constexpr (ranges::sized_range<Range>) {
1096
1.00M
        return r.size();
1097
1.00M
    }
1098
1.00M
    else if constexpr (std::is_same_v<
1099
1.00M
                           ranges::const_iterator_t<Range>,
1100
1.00M
                           typename detail::basic_scan_buffer<
1101
1.00M
                               detail::char_t<Range>>::forward_iterator>) {
1102
1.00M
        if constexpr (ranges::common_range<Range>) {
1103
1.00M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
1.00M
        }
1105
1.00M
        else {
1106
1.00M
            if (r.begin().stores_parent()) {
1107
1.00M
                return static_cast<size_t>(
1108
1.00M
                    r.begin().parent()->chars_available() -
1109
1.00M
                    r.begin().position());
1110
1.00M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
1.00M
        }
1113
1.00M
    }
1114
1.00M
    else {
1115
1.00M
        return 0;
1116
1.00M
    }
1117
1.00M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1094
40
{
1095
40
    if constexpr (ranges::sized_range<Range>) {
1096
40
        return r.size();
1097
40
    }
1098
40
    else if constexpr (std::is_same_v<
1099
40
                           ranges::const_iterator_t<Range>,
1100
40
                           typename detail::basic_scan_buffer<
1101
40
                               detail::char_t<Range>>::forward_iterator>) {
1102
40
        if constexpr (ranges::common_range<Range>) {
1103
40
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
40
        }
1105
40
        else {
1106
40
            if (r.begin().stores_parent()) {
1107
40
                return static_cast<size_t>(
1108
40
                    r.begin().parent()->chars_available() -
1109
40
                    r.begin().position());
1110
40
            }
1111
40
            return r.begin().contiguous_segment().size();
1112
40
        }
1113
40
    }
1114
40
    else {
1115
40
        return 0;
1116
40
    }
1117
40
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1094
724
{
1095
724
    if constexpr (ranges::sized_range<Range>) {
1096
724
        return r.size();
1097
724
    }
1098
724
    else if constexpr (std::is_same_v<
1099
724
                           ranges::const_iterator_t<Range>,
1100
724
                           typename detail::basic_scan_buffer<
1101
724
                               detail::char_t<Range>>::forward_iterator>) {
1102
724
        if constexpr (ranges::common_range<Range>) {
1103
724
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
724
        }
1105
724
        else {
1106
724
            if (r.begin().stores_parent()) {
1107
724
                return static_cast<size_t>(
1108
724
                    r.begin().parent()->chars_available() -
1109
724
                    r.begin().position());
1110
724
            }
1111
724
            return r.begin().contiguous_segment().size();
1112
724
        }
1113
724
    }
1114
724
    else {
1115
724
        return 0;
1116
724
    }
1117
724
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1094
20
{
1095
20
    if constexpr (ranges::sized_range<Range>) {
1096
20
        return r.size();
1097
20
    }
1098
20
    else if constexpr (std::is_same_v<
1099
20
                           ranges::const_iterator_t<Range>,
1100
20
                           typename detail::basic_scan_buffer<
1101
20
                               detail::char_t<Range>>::forward_iterator>) {
1102
20
        if constexpr (ranges::common_range<Range>) {
1103
20
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
20
        }
1105
20
        else {
1106
20
            if (r.begin().stores_parent()) {
1107
20
                return static_cast<size_t>(
1108
20
                    r.begin().parent()->chars_available() -
1109
20
                    r.begin().position());
1110
20
            }
1111
20
            return r.begin().contiguous_segment().size();
1112
20
        }
1113
20
    }
1114
20
    else {
1115
20
        return 0;
1116
20
    }
1117
20
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
1118
1119
template <typename I, typename T>
1120
struct iterator_value_result {
1121
    SCN_NO_UNIQUE_ADDRESS I iterator;
1122
    SCN_NO_UNIQUE_ADDRESS T value;
1123
};
1124
1125
/////////////////////////////////////////////////////////////////
1126
// Unicode
1127
/////////////////////////////////////////////////////////////////
1128
1129
template <typename CharT>
1130
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1131
61.6M
{
1132
61.6M
    auto it = src.begin();
1133
528M
    while (it != src.end()) {
1134
467M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
467M
        if (len == 0) {
1136
3.06k
            return false;
1137
3.06k
        }
1138
467M
        if (src.end() - it < len) {
1139
527
            return false;
1140
527
        }
1141
467M
        const auto cp = detail::decode_code_point_exhaustive(
1142
467M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
467M
        if (cp >= detail::invalid_code_point) {
1144
13.8k
            return false;
1145
13.8k
        }
1146
467M
        it += len;
1147
467M
    }
1148
61.6M
    return true;
1149
61.6M
}
bool scn::v3::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1131
476k
{
1132
476k
    auto it = src.begin();
1133
4.41M
    while (it != src.end()) {
1134
3.94M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
3.94M
        if (len == 0) {
1136
3.06k
            return false;
1137
3.06k
        }
1138
3.93M
        if (src.end() - it < len) {
1139
527
            return false;
1140
527
        }
1141
3.93M
        const auto cp = detail::decode_code_point_exhaustive(
1142
3.93M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
3.93M
        if (cp >= detail::invalid_code_point) {
1144
2.55k
            return false;
1145
2.55k
        }
1146
3.93M
        it += len;
1147
3.93M
    }
1148
470k
    return true;
1149
476k
}
bool scn::v3::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1131
61.1M
{
1132
61.1M
    auto it = src.begin();
1133
524M
    while (it != src.end()) {
1134
463M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
463M
        if (len == 0) {
1136
0
            return false;
1137
0
        }
1138
463M
        if (src.end() - it < len) {
1139
0
            return false;
1140
0
        }
1141
463M
        const auto cp = detail::decode_code_point_exhaustive(
1142
463M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
463M
        if (cp >= detail::invalid_code_point) {
1144
11.3k
            return false;
1145
11.3k
        }
1146
463M
        it += len;
1147
463M
    }
1148
61.1M
    return true;
1149
61.1M
}
1150
1151
template <typename Range>
1152
constexpr auto get_start_for_next_code_point(Range input)
1153
    -> ranges::const_iterator_t<Range>
1154
96.8k
{
1155
96.8k
    auto it = input.begin();
1156
608k
    for (; it != input.end(); ++it) {
1157
590k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
79.0k
            break;
1159
79.0k
        }
1160
590k
    }
1161
96.8k
    return it;
1162
96.8k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1154
74.2k
{
1155
74.2k
    auto it = input.begin();
1156
483k
    for (; it != input.end(); ++it) {
1157
468k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
59.3k
            break;
1159
59.3k
        }
1160
468k
    }
1161
74.2k
    return it;
1162
74.2k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1154
3.26k
{
1155
3.26k
    auto it = input.begin();
1156
14.9k
    for (; it != input.end(); ++it) {
1157
14.8k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
3.14k
            break;
1159
3.14k
        }
1160
14.8k
    }
1161
3.26k
    return it;
1162
3.26k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
1154
17.2k
{
1155
17.2k
    auto it = input.begin();
1156
102k
    for (; it != input.end(); ++it) {
1157
100k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
14.4k
            break;
1159
14.4k
        }
1160
100k
    }
1161
17.2k
    return it;
1162
17.2k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1154
2.16k
{
1155
2.16k
    auto it = input.begin();
1156
6.76k
    for (; it != input.end(); ++it) {
1157
6.69k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
2.08k
            break;
1159
2.08k
        }
1160
6.69k
    }
1161
2.16k
    return it;
1162
2.16k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
1163
1164
template <typename CharT>
1165
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1166
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1167
                             char32_t>
1168
302M
{
1169
302M
    SCN_EXPECT(!input.empty());
1170
1171
302M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
302M
    if (SCN_UNLIKELY(len == 0)) {
1173
74.2k
        return {get_start_for_next_code_point(input),
1174
74.2k
                detail::invalid_code_point};
1175
74.2k
    }
1176
302M
    if (SCN_UNLIKELY(len > input.size())) {
1177
17.3k
        return {input.end(), detail::invalid_code_point};
1178
17.3k
    }
1179
1180
302M
    return {input.begin() + len,
1181
302M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
302M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v3::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1168
3.86M
{
1169
3.86M
    SCN_EXPECT(!input.empty());
1170
1171
3.86M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
3.86M
    if (SCN_UNLIKELY(len == 0)) {
1173
74.2k
        return {get_start_for_next_code_point(input),
1174
74.2k
                detail::invalid_code_point};
1175
74.2k
    }
1176
3.79M
    if (SCN_UNLIKELY(len > input.size())) {
1177
17.3k
        return {input.end(), detail::invalid_code_point};
1178
17.3k
    }
1179
1180
3.77M
    return {input.begin() + len,
1181
3.77M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
3.79M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v3::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1168
298M
{
1169
298M
    SCN_EXPECT(!input.empty());
1170
1171
298M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
298M
    if (SCN_UNLIKELY(len == 0)) {
1173
0
        return {get_start_for_next_code_point(input),
1174
0
                detail::invalid_code_point};
1175
0
    }
1176
298M
    if (SCN_UNLIKELY(len > input.size())) {
1177
0
        return {input.end(), detail::invalid_code_point};
1178
0
    }
1179
1180
298M
    return {input.begin() + len,
1181
298M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
298M
}
1183
1184
template <typename CharT>
1185
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1186
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1187
                             char32_t>
1188
185k
{
1189
185k
    SCN_EXPECT(!input.empty());
1190
1191
185k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1192
185k
    SCN_EXPECT(len <= input.size());
1193
1194
185k
    return {input.begin() + len,
1195
185k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1196
185k
}
1197
1198
constexpr bool is_cp_space(char32_t cp) noexcept
1199
1.01G
{
1200
    // Pattern_White_Space property
1201
1.01G
    return (cp >= 0x09 && cp <= 0x0d) ||
1202
1.01G
           cp == 0x20 ||    // ASCII space characters
1203
1.01G
           cp == 0x85 ||    // NEXT LINE (NEL)
1204
1.01G
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
1205
1.01G
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
1206
1.01G
           cp == 0x2028 ||  // LINE SEPARATOR
1207
1.01G
           cp == 0x2029;    // PARAGRAPH SEPARATOR
1208
1.01G
}
1209
1210
template <typename CharT>
1211
struct is_first_char_space_result {
1212
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1213
    char32_t cp;
1214
    bool is_space;
1215
};
1216
1217
template <typename CharT>
1218
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1219
    -> is_first_char_space_result<CharT>
1220
298M
{
1221
    // TODO: optimize
1222
298M
    SCN_EXPECT(!str.empty());
1223
298M
    auto res = get_next_code_point(str);
1224
298M
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
298M
}
scn::v3::impl::is_first_char_space_result<char> scn::v3::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1220
73.3k
{
1221
    // TODO: optimize
1222
73.3k
    SCN_EXPECT(!str.empty());
1223
73.3k
    auto res = get_next_code_point(str);
1224
73.3k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
73.3k
}
scn::v3::impl::is_first_char_space_result<wchar_t> scn::v3::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1220
298M
{
1221
    // TODO: optimize
1222
298M
    SCN_EXPECT(!str.empty());
1223
298M
    auto res = get_next_code_point(str);
1224
298M
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
298M
}
1226
1227
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1228
    char32_t cp,
1229
    bool error_on_overflow)
1230
0
{
1231
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1232
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1233
0
        SCN_UNUSED(error_on_overflow);
1234
0
        return static_cast<wchar_t>(cp);
1235
0
    }
1236
0
    else {
1237
0
        if (cp < 0x10000) {
1238
0
            return static_cast<wchar_t>(cp);
1239
0
        }
1240
0
        if (error_on_overflow) {
1241
0
            return unexpected_scan_error(scan_error::value_out_of_range,
1242
0
                                         "Non-BOM code point can't be "
1243
0
                                         "narrowed to a single 2-byte "
1244
0
                                         "wchar_t code unit");
1245
0
        }
1246
        // Return the lead surrogate
1247
0
        return static_cast<wchar_t>(
1248
0
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1249
0
    }
1250
0
}
1251
1252
template <typename SourceCharT, typename DestCharT>
1253
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1254
                                   std::basic_string<DestCharT>& dest)
1255
10.1k
{
1256
10.1k
    static_assert(sizeof(DestCharT) == 4);
1257
1258
10.1k
    auto it = src.begin();
1259
2.24M
    while (it != src.end()) {
1260
2.23M
        auto res = get_next_code_point(
1261
2.23M
            detail::make_string_view_from_iterators<SourceCharT>(it,
1262
2.23M
                                                                 src.end()));
1263
2.23M
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1264
19.4k
            dest.push_back(DestCharT{0xfffd});
1265
19.4k
        }
1266
2.21M
        else {
1267
2.21M
            dest.push_back(res.value);
1268
2.21M
        }
1269
2.23M
        it = detail::make_string_view_iterator(src, res.iterator);
1270
2.23M
    }
1271
10.1k
}
1272
template <typename SourceCharT, typename DestCharT>
1273
void transcode_valid_to_string_impl_to32(
1274
    std::basic_string_view<SourceCharT> src,
1275
    std::basic_string<DestCharT>& dest)
1276
2.20k
{
1277
2.20k
    static_assert(sizeof(DestCharT) == 4);
1278
1279
2.20k
    auto it = src.begin();
1280
187k
    while (it != src.end()) {
1281
185k
        auto res = get_next_code_point_valid(
1282
185k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1283
185k
                                                                 src.end()));
1284
185k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1285
185k
        dest.push_back(res.value);
1286
185k
        it = detail::make_string_view_iterator(src, res.iterator);
1287
185k
    }
1288
2.20k
}
1289
1290
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1291
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1292
                                    std::basic_string<DestCharT>& dest)
1293
1.00k
{
1294
1.00k
    static_assert(sizeof(SourceCharT) == 4);
1295
1.00k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
19.4k
    for (auto cp : src) {
1298
19.4k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
19.4k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
450
            dest.push_back(static_cast<char>(0xef));
1302
450
            dest.push_back(static_cast<char>(0xbf));
1303
450
            dest.push_back(static_cast<char>(0xbd));
1304
450
        }
1305
18.9k
        else if (cp < 128) {
1306
12.9k
            dest.push_back(static_cast<char>(cp));
1307
12.9k
        }
1308
6.06k
        else if (cp < 2048) {
1309
338
            dest.push_back(
1310
338
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
338
            dest.push_back(
1312
338
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
338
        }
1314
5.72k
        else if (cp < 65536) {
1315
5.11k
            dest.push_back(
1316
5.11k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
5.11k
            dest.push_back(static_cast<char>(
1318
5.11k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
5.11k
            dest.push_back(
1320
5.11k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
5.11k
        }
1322
615
        else {
1323
615
            dest.push_back(
1324
615
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
615
            dest.push_back(static_cast<char>(
1326
615
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
615
            dest.push_back(static_cast<char>(
1328
615
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
615
            dest.push_back(
1330
615
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
615
        }
1332
19.4k
    }
1333
1.00k
}
void scn::v3::impl::transcode_to_string_impl_32to8<true, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
658
{
1294
658
    static_assert(sizeof(SourceCharT) == 4);
1295
658
    static_assert(sizeof(DestCharT) == 1);
1296
1297
5.22k
    for (auto cp : src) {
1298
5.22k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
5.22k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
0
            dest.push_back(static_cast<char>(0xef));
1302
0
            dest.push_back(static_cast<char>(0xbf));
1303
0
            dest.push_back(static_cast<char>(0xbd));
1304
0
        }
1305
5.22k
        else if (cp < 128) {
1306
4.35k
            dest.push_back(static_cast<char>(cp));
1307
4.35k
        }
1308
878
        else if (cp < 2048) {
1309
64
            dest.push_back(
1310
64
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
64
            dest.push_back(
1312
64
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
64
        }
1314
814
        else if (cp < 65536) {
1315
476
            dest.push_back(
1316
476
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
476
            dest.push_back(static_cast<char>(
1318
476
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
476
            dest.push_back(
1320
476
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
476
        }
1322
338
        else {
1323
338
            dest.push_back(
1324
338
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
338
            dest.push_back(static_cast<char>(
1326
338
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
338
            dest.push_back(static_cast<char>(
1328
338
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
338
            dest.push_back(
1330
338
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
338
        }
1332
5.22k
    }
1333
658
}
void scn::v3::impl::transcode_to_string_impl_32to8<false, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
346
{
1294
346
    static_assert(sizeof(SourceCharT) == 4);
1295
346
    static_assert(sizeof(DestCharT) == 1);
1296
1297
14.1k
    for (auto cp : src) {
1298
14.1k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
14.1k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
450
            dest.push_back(static_cast<char>(0xef));
1302
450
            dest.push_back(static_cast<char>(0xbf));
1303
450
            dest.push_back(static_cast<char>(0xbd));
1304
450
        }
1305
13.7k
        else if (cp < 128) {
1306
8.56k
            dest.push_back(static_cast<char>(cp));
1307
8.56k
        }
1308
5.18k
        else if (cp < 2048) {
1309
274
            dest.push_back(
1310
274
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
274
            dest.push_back(
1312
274
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
274
        }
1314
4.91k
        else if (cp < 65536) {
1315
4.63k
            dest.push_back(
1316
4.63k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
4.63k
            dest.push_back(static_cast<char>(
1318
4.63k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
4.63k
            dest.push_back(
1320
4.63k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
4.63k
        }
1322
277
        else {
1323
277
            dest.push_back(
1324
277
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
277
            dest.push_back(static_cast<char>(
1326
277
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
277
            dest.push_back(static_cast<char>(
1328
277
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
277
            dest.push_back(
1330
277
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
277
        }
1332
14.1k
    }
1333
346
}
1334
1335
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1336
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1337
                                     std::basic_string<DestCharT>& dest)
1338
{
1339
    static_assert(sizeof(SourceCharT) == 4);
1340
    static_assert(sizeof(DestCharT) == 2);
1341
1342
    for (auto cp : src) {
1343
        const auto u32cp = static_cast<uint32_t>(cp);
1344
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1345
            dest.push_back(char16_t{0xfffd});
1346
        }
1347
        else if (cp < 0x10000) {
1348
            dest.push_back(static_cast<char16_t>(cp));
1349
        }
1350
        else {
1351
            dest.push_back(
1352
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1353
            dest.push_back(
1354
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1355
        }
1356
    }
1357
}
1358
1359
template <typename SourceCharT, typename DestCharT>
1360
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1361
                         std::basic_string<DestCharT>& dest)
1362
10.4k
{
1363
10.4k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
10.4k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
10.1k
        if constexpr (sizeof(DestCharT) == 2) {
1367
10.1k
            std::u32string tmp;
1368
10.1k
            transcode_to_string_impl_to32(src, tmp);
1369
10.1k
            return transcode_to_string_impl_32to16<false>(
1370
10.1k
                std::u32string_view{tmp}, dest);
1371
10.1k
        }
1372
10.1k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
10.1k
            return transcode_to_string_impl_to32(src, dest);
1374
10.1k
        }
1375
10.1k
    }
1376
346
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
346
        if constexpr (sizeof(DestCharT) == 1) {
1378
346
            std::u32string tmp;
1379
346
            transcode_to_string_impl_to32(src, tmp);
1380
346
            return transcode_to_string_impl_32to8<false>(
1381
346
                std::u32string_view{tmp}, dest);
1382
346
        }
1383
346
        else if constexpr (sizeof(DestCharT) == 4) {
1384
346
            return trasncode_to_string_impl_to32(src, dest);
1385
346
        }
1386
346
    }
1387
346
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
346
        if constexpr (sizeof(DestCharT) == 1) {
1389
346
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
346
        }
1391
346
        else if constexpr (sizeof(DestCharT) == 2) {
1392
346
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
346
        }
1394
346
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1362
10.1k
{
1363
10.1k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
10.1k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
10.1k
        if constexpr (sizeof(DestCharT) == 2) {
1367
10.1k
            std::u32string tmp;
1368
10.1k
            transcode_to_string_impl_to32(src, tmp);
1369
10.1k
            return transcode_to_string_impl_32to16<false>(
1370
10.1k
                std::u32string_view{tmp}, dest);
1371
10.1k
        }
1372
10.1k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
10.1k
            return transcode_to_string_impl_to32(src, dest);
1374
10.1k
        }
1375
10.1k
    }
1376
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
0
        if constexpr (sizeof(DestCharT) == 1) {
1378
0
            std::u32string tmp;
1379
0
            transcode_to_string_impl_to32(src, tmp);
1380
0
            return transcode_to_string_impl_32to8<false>(
1381
0
                std::u32string_view{tmp}, dest);
1382
0
        }
1383
0
        else if constexpr (sizeof(DestCharT) == 4) {
1384
0
            return trasncode_to_string_impl_to32(src, dest);
1385
0
        }
1386
0
    }
1387
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
0
        if constexpr (sizeof(DestCharT) == 1) {
1389
0
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
0
        }
1391
0
        else if constexpr (sizeof(DestCharT) == 2) {
1392
0
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
0
        }
1394
0
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1362
346
{
1363
346
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
346
    if constexpr (sizeof(SourceCharT) == 1) {
1366
346
        if constexpr (sizeof(DestCharT) == 2) {
1367
346
            std::u32string tmp;
1368
346
            transcode_to_string_impl_to32(src, tmp);
1369
346
            return transcode_to_string_impl_32to16<false>(
1370
346
                std::u32string_view{tmp}, dest);
1371
346
        }
1372
346
        else if constexpr (sizeof(DestCharT) == 4) {
1373
346
            return transcode_to_string_impl_to32(src, dest);
1374
346
        }
1375
346
    }
1376
346
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
346
        if constexpr (sizeof(DestCharT) == 1) {
1378
346
            std::u32string tmp;
1379
346
            transcode_to_string_impl_to32(src, tmp);
1380
346
            return transcode_to_string_impl_32to8<false>(
1381
346
                std::u32string_view{tmp}, dest);
1382
346
        }
1383
346
        else if constexpr (sizeof(DestCharT) == 4) {
1384
346
            return trasncode_to_string_impl_to32(src, dest);
1385
346
        }
1386
346
    }
1387
346
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
346
        if constexpr (sizeof(DestCharT) == 1) {
1389
346
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
346
        }
1391
346
        else if constexpr (sizeof(DestCharT) == 2) {
1392
346
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
346
        }
1394
346
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
1399
template <typename SourceCharT, typename DestCharT>
1400
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1401
                               std::basic_string<DestCharT>& dest)
1402
2.85k
{
1403
2.85k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.85k
    SCN_EXPECT(validate_unicode(src));
1406
2.85k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.20k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.20k
            std::u32string tmp;
1410
2.20k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.20k
            return transcode_to_string_impl_32to16<true>(
1412
2.20k
                std::u32string_view{tmp}, dest);
1413
2.20k
        }
1414
2.20k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.20k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.20k
        }
1417
2.20k
    }
1418
658
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
658
        if constexpr (sizeof(DestCharT) == 1) {
1420
658
            std::u32string tmp;
1421
658
            transcode_valid_to_string_impl_to32(src, tmp);
1422
658
            return transcode_to_string_impl_32to8<true>(
1423
658
                std::u32string_view{tmp}, dest);
1424
658
        }
1425
658
        else if constexpr (sizeof(DestCharT) == 4) {
1426
658
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
658
        }
1428
658
    }
1429
658
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
658
        if constexpr (sizeof(DestCharT) == 1) {
1431
658
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
658
        }
1433
658
        else if constexpr (sizeof(DestCharT) == 2) {
1434
658
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
658
        }
1436
658
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1402
2.20k
{
1403
2.20k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.20k
    SCN_EXPECT(validate_unicode(src));
1406
2.20k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.20k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.20k
            std::u32string tmp;
1410
2.20k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.20k
            return transcode_to_string_impl_32to16<true>(
1412
2.20k
                std::u32string_view{tmp}, dest);
1413
2.20k
        }
1414
2.20k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.20k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.20k
        }
1417
2.20k
    }
1418
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
0
        if constexpr (sizeof(DestCharT) == 1) {
1420
0
            std::u32string tmp;
1421
0
            transcode_valid_to_string_impl_to32(src, tmp);
1422
0
            return transcode_to_string_impl_32to8<true>(
1423
0
                std::u32string_view{tmp}, dest);
1424
0
        }
1425
0
        else if constexpr (sizeof(DestCharT) == 4) {
1426
0
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
0
        }
1428
0
    }
1429
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
0
        if constexpr (sizeof(DestCharT) == 1) {
1431
0
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
0
        }
1433
0
        else if constexpr (sizeof(DestCharT) == 2) {
1434
0
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
0
        }
1436
0
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1402
658
{
1403
658
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
658
    SCN_EXPECT(validate_unicode(src));
1406
658
    if constexpr (sizeof(SourceCharT) == 1) {
1407
658
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
658
            std::u32string tmp;
1410
658
            transcode_valid_to_string_impl_to32(src, tmp);
1411
658
            return transcode_to_string_impl_32to16<true>(
1412
658
                std::u32string_view{tmp}, dest);
1413
658
        }
1414
658
        else if constexpr (sizeof(DestCharT) == 4) {
1415
658
            return transcode_valid_to_string_impl_to32(src, dest);
1416
658
        }
1417
658
    }
1418
658
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
658
        if constexpr (sizeof(DestCharT) == 1) {
1420
658
            std::u32string tmp;
1421
658
            transcode_valid_to_string_impl_to32(src, tmp);
1422
658
            return transcode_to_string_impl_32to8<true>(
1423
658
                std::u32string_view{tmp}, dest);
1424
658
        }
1425
658
        else if constexpr (sizeof(DestCharT) == 4) {
1426
658
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
658
        }
1428
658
    }
1429
658
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
658
        if constexpr (sizeof(DestCharT) == 1) {
1431
658
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
658
        }
1433
658
        else if constexpr (sizeof(DestCharT) == 2) {
1434
658
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
658
        }
1436
658
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
1441
1442
template <typename CharT>
1443
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1444
                                   function_ref<void(char32_t)> cb)
1445
33.7k
{
1446
    // TODO: Could be optimized by being eager
1447
33.7k
    auto it = input.begin();
1448
78.8k
    while (it != input.end()) {
1449
45.1k
        auto res = get_next_code_point(
1450
45.1k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
45.1k
        cb(res.value);
1452
45.1k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
45.1k
    }
1454
33.7k
}
void scn::v3::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
29.8k
{
1446
    // TODO: Could be optimized by being eager
1447
29.8k
    auto it = input.begin();
1448
67.9k
    while (it != input.end()) {
1449
38.1k
        auto res = get_next_code_point(
1450
38.1k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
38.1k
        cb(res.value);
1452
38.1k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
38.1k
    }
1454
29.8k
}
void scn::v3::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
3.91k
{
1446
    // TODO: Could be optimized by being eager
1447
3.91k
    auto it = input.begin();
1448
10.8k
    while (it != input.end()) {
1449
6.97k
        auto res = get_next_code_point(
1450
6.97k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
6.97k
        cb(res.value);
1452
6.97k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
6.97k
    }
1454
3.91k
}
1455
1456
template <typename CharT>
1457
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1458
                                         function_ref<void(char32_t)> cb)
1459
{
1460
    auto it = input.begin();
1461
    while (it != input.end()) {
1462
        auto res = get_next_code_point_valid(
1463
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1464
        cb(res.value);
1465
        it = detail::make_string_view_iterator(input, res.iterator);
1466
    }
1467
}
1468
1469
/////////////////////////////////////////////////////////////////
1470
// contiguous_range_factory
1471
/////////////////////////////////////////////////////////////////
1472
1473
template <typename View>
1474
class take_width_view;
1475
1476
template <typename CharT>
1477
struct string_view_wrapper {
1478
    using char_type = CharT;
1479
    using string_type = std::basic_string<CharT>;
1480
    using string_view_type = std::basic_string_view<CharT>;
1481
1482
    constexpr string_view_wrapper() = default;
1483
1484
    template <typename Range,
1485
              std::enable_if_t<ranges::borrowed_range<Range> &&
1486
                               ranges::contiguous_range<Range> &&
1487
                               ranges::sized_range<Range>>* = nullptr>
1488
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1489
50.4M
    {
1490
50.4M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1489
1.97M
    {
1490
1.97M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1489
5.23M
    {
1490
5.23M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1489
41.0M
    {
1490
41.0M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, (void*)0>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1489
2.11M
    {
1490
2.11M
    }
1491
1492
    template <typename Range,
1493
              std::enable_if_t<ranges::borrowed_range<Range> &&
1494
                               ranges::contiguous_range<Range> &&
1495
                               ranges::sized_range<Range>>* = nullptr>
1496
    void assign(Range&& r)
1497
    {
1498
        sv = string_view_type{ranges::data(r), r.size()};
1499
    }
1500
1501
    constexpr auto view() const
1502
79.8M
    {
1503
79.8M
        return sv;
1504
79.8M
    }
scn::v3::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1502
18.3M
    {
1503
18.3M
        return sv;
1504
18.3M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1502
61.4M
    {
1503
61.4M
        return sv;
1504
61.4M
    }
1505
1506
    constexpr bool stores_allocated_string() const
1507
0
    {
1508
0
        return false;
1509
0
    }
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1510
1511
    [[noreturn]] string_type get_allocated_string() const
1512
    {
1513
        SCN_EXPECT(false);
1514
        SCN_UNREACHABLE;
1515
    }
1516
1517
    string_view_type sv;
1518
};
1519
1520
template <typename Range>
1521
string_view_wrapper(Range)
1522
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1523
1524
template <typename CharT>
1525
class contiguous_range_factory {
1526
public:
1527
    using char_type = CharT;
1528
    using string_type = std::basic_string<CharT>;
1529
    using string_view_type = std::basic_string_view<CharT>;
1530
1531
10.5M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1531
9.41M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1531
1.13M
    contiguous_range_factory() = default;
1532
1533
    template <typename Range,
1534
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1535
    contiguous_range_factory(Range&& range)
1536
22.1M
    {
1537
22.1M
        emplace_range(SCN_FWD(range));
1538
22.1M
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1536
1.72M
    {
1537
1.72M
        emplace_range(SCN_FWD(range));
1538
1.72M
    }
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1536
1.82k
    {
1537
1.82k
        emplace_range(SCN_FWD(range));
1538
1.82k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1536
20.3M
    {
1537
20.3M
        emplace_range(SCN_FWD(range));
1538
20.3M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1536
20
    {
1537
20
        emplace_range(SCN_FWD(range));
1538
20
    }
1539
1540
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1541
        : m_storage(std::nullopt), m_view(svw.view())
1542
    {
1543
    }
1544
1545
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1546
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1547
        delete;
1548
1549
    contiguous_range_factory(contiguous_range_factory&& other)
1550
        : m_storage(SCN_MOVE(other.m_storage))
1551
    {
1552
        if (m_storage) {
1553
            m_view = *m_storage;
1554
        }
1555
        else {
1556
            m_view = other.m_view;
1557
        }
1558
    }
1559
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1560
    {
1561
        m_storage = SCN_MOVE(other.m_storage);
1562
        if (m_storage) {
1563
            m_view = *m_storage;
1564
        }
1565
        else {
1566
            m_view = other.m_view;
1567
        }
1568
        return *this;
1569
    }
1570
1571
32.6M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1571
11.1M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1571
21.5M
    ~contiguous_range_factory() = default;
1572
1573
    template <typename Range,
1574
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1575
    void assign(Range&& range)
1576
6.70M
    {
1577
6.70M
        emplace_range(SCN_FWD(range));
1578
6.70M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1576
2.14M
    {
1577
2.14M
        emplace_range(SCN_FWD(range));
1578
2.14M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1576
2.18M
    {
1577
2.18M
        emplace_range(SCN_FWD(range));
1578
2.18M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1576
50.0k
    {
1577
50.0k
        emplace_range(SCN_FWD(range));
1578
50.0k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1576
176k
    {
1577
176k
        emplace_range(SCN_FWD(range));
1578
176k
    }
void scn::v3::impl::contiguous_range_factory<char>::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, (void*)0>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1576
2.11M
    {
1577
2.11M
        emplace_range(SCN_FWD(range));
1578
2.11M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, (void*)0>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1576
45.0k
    {
1577
45.0k
        emplace_range(SCN_FWD(range));
1578
45.0k
    }
1579
1580
    string_view_type view() const
1581
60.7M
    {
1582
60.7M
        return m_view;
1583
60.7M
    }
scn::v3::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1581
19.3M
    {
1582
19.3M
        return m_view;
1583
19.3M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1581
41.4M
    {
1582
41.4M
        return m_view;
1583
41.4M
    }
1584
1585
    constexpr bool stores_allocated_string() const
1586
26.0M
    {
1587
26.0M
        return m_storage.has_value();
1588
26.0M
    }
scn::v3::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1586
5.55M
    {
1587
5.55M
        return m_storage.has_value();
1588
5.55M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1586
20.5M
    {
1587
20.5M
        return m_storage.has_value();
1588
20.5M
    }
1589
1590
    string_type& get_allocated_string() &
1591
3.24M
    {
1592
3.24M
        SCN_EXPECT(stores_allocated_string());
1593
3.24M
        return *m_storage;
1594
3.24M
    }
scn::v3::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1591
3.17M
    {
1592
3.17M
        SCN_EXPECT(stores_allocated_string());
1593
3.17M
        return *m_storage;
1594
3.17M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1591
68.8k
    {
1592
68.8k
        SCN_EXPECT(stores_allocated_string());
1593
68.8k
        return *m_storage;
1594
68.8k
    }
1595
    const string_type& get_allocated_string() const&
1596
    {
1597
        SCN_EXPECT(stores_allocated_string());
1598
        return *m_storage;
1599
    }
1600
    string_type&& get_allocated_string() &&
1601
    {
1602
        SCN_EXPECT(stores_allocated_string());
1603
        return *m_storage;
1604
    }
1605
1606
    string_type& make_into_allocated_string()
1607
0
    {
1608
0
        if (stores_allocated_string()) {
1609
0
            return get_allocated_string();
1610
0
        }
1611
1612
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1613
0
        m_view = string_view_type{str.data(), str.size()};
1614
0
        return str;
1615
0
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1616
1617
private:
1618
    template <typename Range>
1619
    void emplace_range(Range&& range)
1620
28.8M
    {
1621
28.8M
        using value_t = ranges::range_value_t<Range>;
1622
1623
28.8M
        if constexpr (ranges::borrowed_range<Range> &&
1624
28.8M
                      ranges::contiguous_range<Range> &&
1625
28.8M
                      ranges::sized_range<Range>) {
1626
26.4M
            m_storage.reset();
1627
26.4M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
26.4M
        }
1629
26.4M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
26.4M
                                          std::basic_string<CharT>>) {
1631
24.3M
            m_storage.emplace(SCN_FWD(range));
1632
2.15M
            m_view = string_view_type{*m_storage};
1633
2.15M
        }
1634
24.3M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
24.3M
                                          typename detail::basic_scan_buffer<
1636
24.3M
                                              value_t>::forward_iterator> &&
1637
24.3M
                           ranges::common_range<Range>) {
1638
1.84k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.84k
            auto end_seg = range.end().contiguous_segment();
1640
24.3M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.42M
                             detail::to_address(end_seg.end()))) {
1642
1.42M
                auto& str = m_storage.emplace();
1643
1.42M
                str.reserve(range.end().position() - range.begin().position());
1644
1.42M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.42M
                m_view = string_view_type{str};
1646
1.42M
                return;
1647
1.42M
            }
1648
1649
22.8M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
22.8M
                                                            end_seg.data());
1651
22.8M
            m_storage.reset();
1652
22.8M
        }
1653
1.84k
        else {
1654
1.84k
            auto& str = m_storage.emplace();
1655
1.84k
            if constexpr (ranges::sized_range<Range>) {
1656
1.84k
                str.reserve(range.size());
1657
1.84k
            }
1658
1.84k
            if constexpr (ranges::common_range<Range>) {
1659
1.84k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.84k
                          std::back_inserter(str));
1661
1.84k
            }
1662
1.84k
            else {
1663
1.84k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.84k
                     ++it) {
1665
1.84k
                    str.push_back(*it);
1666
1.84k
                }
1667
1.84k
            }
1668
1.84k
            m_view = string_view_type{str};
1669
1.84k
        }
1670
28.8M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1620
3.86M
    {
1621
3.86M
        using value_t = ranges::range_value_t<Range>;
1622
1623
3.86M
        if constexpr (ranges::borrowed_range<Range> &&
1624
3.86M
                      ranges::contiguous_range<Range> &&
1625
3.86M
                      ranges::sized_range<Range>) {
1626
3.86M
            m_storage.reset();
1627
3.86M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
3.86M
        }
1629
3.86M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
3.86M
                                          std::basic_string<CharT>>) {
1631
3.86M
            m_storage.emplace(SCN_FWD(range));
1632
3.86M
            m_view = string_view_type{*m_storage};
1633
3.86M
        }
1634
3.86M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
3.86M
                                          typename detail::basic_scan_buffer<
1636
3.86M
                                              value_t>::forward_iterator> &&
1637
3.86M
                           ranges::common_range<Range>) {
1638
3.86M
            auto beg_seg = range.begin().contiguous_segment();
1639
3.86M
            auto end_seg = range.end().contiguous_segment();
1640
3.86M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
3.86M
                             detail::to_address(end_seg.end()))) {
1642
1.40M
                auto& str = m_storage.emplace();
1643
1.40M
                str.reserve(range.end().position() - range.begin().position());
1644
1.40M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.40M
                m_view = string_view_type{str};
1646
1.40M
                return;
1647
1.40M
            }
1648
1649
2.45M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.45M
                                                            end_seg.data());
1651
2.45M
            m_storage.reset();
1652
2.45M
        }
1653
3.86M
        else {
1654
3.86M
            auto& str = m_storage.emplace();
1655
3.86M
            if constexpr (ranges::sized_range<Range>) {
1656
3.86M
                str.reserve(range.size());
1657
3.86M
            }
1658
3.86M
            if constexpr (ranges::common_range<Range>) {
1659
3.86M
                std::copy(ranges::begin(range), ranges::end(range),
1660
3.86M
                          std::back_inserter(str));
1661
3.86M
            }
1662
3.86M
            else {
1663
3.86M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
3.86M
                     ++it) {
1665
3.86M
                    str.push_back(*it);
1666
3.86M
                }
1667
3.86M
            }
1668
3.86M
            m_view = string_view_type{str};
1669
3.86M
        }
1670
3.86M
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1620
1.82k
    {
1621
1.82k
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.82k
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.82k
                      ranges::contiguous_range<Range> &&
1625
1.82k
                      ranges::sized_range<Range>) {
1626
1.82k
            m_storage.reset();
1627
1.82k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.82k
        }
1629
1.82k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.82k
                                          std::basic_string<CharT>>) {
1631
1.82k
            m_storage.emplace(SCN_FWD(range));
1632
1.82k
            m_view = string_view_type{*m_storage};
1633
1.82k
        }
1634
1.82k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.82k
                                          typename detail::basic_scan_buffer<
1636
1.82k
                                              value_t>::forward_iterator> &&
1637
1.82k
                           ranges::common_range<Range>) {
1638
1.82k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.82k
            auto end_seg = range.end().contiguous_segment();
1640
1.82k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.82k
                             detail::to_address(end_seg.end()))) {
1642
1.82k
                auto& str = m_storage.emplace();
1643
1.82k
                str.reserve(range.end().position() - range.begin().position());
1644
1.82k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.82k
                m_view = string_view_type{str};
1646
1.82k
                return;
1647
1.82k
            }
1648
1649
1.82k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.82k
                                                            end_seg.data());
1651
1.82k
            m_storage.reset();
1652
1.82k
        }
1653
1.82k
        else {
1654
1.82k
            auto& str = m_storage.emplace();
1655
1.82k
            if constexpr (ranges::sized_range<Range>) {
1656
1.82k
                str.reserve(range.size());
1657
1.82k
            }
1658
1.82k
            if constexpr (ranges::common_range<Range>) {
1659
1.82k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.82k
                          std::back_inserter(str));
1661
1.82k
            }
1662
1.82k
            else {
1663
1.82k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.82k
                     ++it) {
1665
1.82k
                    str.push_back(*it);
1666
1.82k
                }
1667
1.82k
            }
1668
1.82k
            m_view = string_view_type{str};
1669
1.82k
        }
1670
1.82k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1620
2.18M
    {
1621
2.18M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.18M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.18M
                      ranges::contiguous_range<Range> &&
1625
2.18M
                      ranges::sized_range<Range>) {
1626
2.18M
            m_storage.reset();
1627
2.18M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.18M
        }
1629
2.18M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.18M
                                          std::basic_string<CharT>>) {
1631
2.18M
            m_storage.emplace(SCN_FWD(range));
1632
2.18M
            m_view = string_view_type{*m_storage};
1633
2.18M
        }
1634
2.18M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.18M
                                          typename detail::basic_scan_buffer<
1636
2.18M
                                              value_t>::forward_iterator> &&
1637
2.18M
                           ranges::common_range<Range>) {
1638
2.18M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.18M
            auto end_seg = range.end().contiguous_segment();
1640
2.18M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.18M
                             detail::to_address(end_seg.end()))) {
1642
2.18M
                auto& str = m_storage.emplace();
1643
2.18M
                str.reserve(range.end().position() - range.begin().position());
1644
2.18M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
2.18M
                m_view = string_view_type{str};
1646
2.18M
                return;
1647
2.18M
            }
1648
1649
2.18M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.18M
                                                            end_seg.data());
1651
2.18M
            m_storage.reset();
1652
2.18M
        }
1653
2.18M
        else {
1654
2.18M
            auto& str = m_storage.emplace();
1655
2.18M
            if constexpr (ranges::sized_range<Range>) {
1656
2.18M
                str.reserve(range.size());
1657
2.18M
            }
1658
2.18M
            if constexpr (ranges::common_range<Range>) {
1659
2.18M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.18M
                          std::back_inserter(str));
1661
2.18M
            }
1662
2.18M
            else {
1663
2.18M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.18M
                     ++it) {
1665
2.18M
                    str.push_back(*it);
1666
2.18M
                }
1667
2.18M
            }
1668
2.18M
            m_view = string_view_type{str};
1669
2.18M
        }
1670
2.18M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1620
20.4M
    {
1621
20.4M
        using value_t = ranges::range_value_t<Range>;
1622
1623
20.4M
        if constexpr (ranges::borrowed_range<Range> &&
1624
20.4M
                      ranges::contiguous_range<Range> &&
1625
20.4M
                      ranges::sized_range<Range>) {
1626
20.4M
            m_storage.reset();
1627
20.4M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
20.4M
        }
1629
20.4M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
20.4M
                                          std::basic_string<CharT>>) {
1631
20.4M
            m_storage.emplace(SCN_FWD(range));
1632
20.4M
            m_view = string_view_type{*m_storage};
1633
20.4M
        }
1634
20.4M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
20.4M
                                          typename detail::basic_scan_buffer<
1636
20.4M
                                              value_t>::forward_iterator> &&
1637
20.4M
                           ranges::common_range<Range>) {
1638
20.4M
            auto beg_seg = range.begin().contiguous_segment();
1639
20.4M
            auto end_seg = range.end().contiguous_segment();
1640
20.4M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
20.4M
                             detail::to_address(end_seg.end()))) {
1642
11.6k
                auto& str = m_storage.emplace();
1643
11.6k
                str.reserve(range.end().position() - range.begin().position());
1644
11.6k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
11.6k
                m_view = string_view_type{str};
1646
11.6k
                return;
1647
11.6k
            }
1648
1649
20.4M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
20.4M
                                                            end_seg.data());
1651
20.4M
            m_storage.reset();
1652
20.4M
        }
1653
20.4M
        else {
1654
20.4M
            auto& str = m_storage.emplace();
1655
20.4M
            if constexpr (ranges::sized_range<Range>) {
1656
20.4M
                str.reserve(range.size());
1657
20.4M
            }
1658
20.4M
            if constexpr (ranges::common_range<Range>) {
1659
20.4M
                std::copy(ranges::begin(range), ranges::end(range),
1660
20.4M
                          std::back_inserter(str));
1661
20.4M
            }
1662
20.4M
            else {
1663
20.4M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
20.4M
                     ++it) {
1665
20.4M
                    str.push_back(*it);
1666
20.4M
                }
1667
20.4M
            }
1668
20.4M
            m_view = string_view_type{str};
1669
20.4M
        }
1670
20.4M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1620
20
    {
1621
20
        using value_t = ranges::range_value_t<Range>;
1622
1623
20
        if constexpr (ranges::borrowed_range<Range> &&
1624
20
                      ranges::contiguous_range<Range> &&
1625
20
                      ranges::sized_range<Range>) {
1626
20
            m_storage.reset();
1627
20
            m_view = string_view_type{ranges::data(range), range.size()};
1628
20
        }
1629
20
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
20
                                          std::basic_string<CharT>>) {
1631
20
            m_storage.emplace(SCN_FWD(range));
1632
20
            m_view = string_view_type{*m_storage};
1633
20
        }
1634
20
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
20
                                          typename detail::basic_scan_buffer<
1636
20
                                              value_t>::forward_iterator> &&
1637
20
                           ranges::common_range<Range>) {
1638
20
            auto beg_seg = range.begin().contiguous_segment();
1639
20
            auto end_seg = range.end().contiguous_segment();
1640
20
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
20
                             detail::to_address(end_seg.end()))) {
1642
20
                auto& str = m_storage.emplace();
1643
20
                str.reserve(range.end().position() - range.begin().position());
1644
20
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
20
                m_view = string_view_type{str};
1646
20
                return;
1647
20
            }
1648
1649
20
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
20
                                                            end_seg.data());
1651
20
            m_storage.reset();
1652
20
        }
1653
20
        else {
1654
20
            auto& str = m_storage.emplace();
1655
20
            if constexpr (ranges::sized_range<Range>) {
1656
20
                str.reserve(range.size());
1657
20
            }
1658
20
            if constexpr (ranges::common_range<Range>) {
1659
20
                std::copy(ranges::begin(range), ranges::end(range),
1660
20
                          std::back_inserter(str));
1661
20
            }
1662
20
            else {
1663
20
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
20
                     ++it) {
1665
20
                    str.push_back(*it);
1666
20
                }
1667
20
            }
1668
20
            m_view = string_view_type{str};
1669
20
        }
1670
20
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1620
176k
    {
1621
176k
        using value_t = ranges::range_value_t<Range>;
1622
1623
176k
        if constexpr (ranges::borrowed_range<Range> &&
1624
176k
                      ranges::contiguous_range<Range> &&
1625
176k
                      ranges::sized_range<Range>) {
1626
176k
            m_storage.reset();
1627
176k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
176k
        }
1629
176k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
176k
                                          std::basic_string<CharT>>) {
1631
176k
            m_storage.emplace(SCN_FWD(range));
1632
176k
            m_view = string_view_type{*m_storage};
1633
176k
        }
1634
176k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
176k
                                          typename detail::basic_scan_buffer<
1636
176k
                                              value_t>::forward_iterator> &&
1637
176k
                           ranges::common_range<Range>) {
1638
176k
            auto beg_seg = range.begin().contiguous_segment();
1639
176k
            auto end_seg = range.end().contiguous_segment();
1640
176k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
176k
                             detail::to_address(end_seg.end()))) {
1642
176k
                auto& str = m_storage.emplace();
1643
176k
                str.reserve(range.end().position() - range.begin().position());
1644
176k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
176k
                m_view = string_view_type{str};
1646
176k
                return;
1647
176k
            }
1648
1649
176k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
176k
                                                            end_seg.data());
1651
176k
            m_storage.reset();
1652
176k
        }
1653
176k
        else {
1654
176k
            auto& str = m_storage.emplace();
1655
176k
            if constexpr (ranges::sized_range<Range>) {
1656
176k
                str.reserve(range.size());
1657
176k
            }
1658
176k
            if constexpr (ranges::common_range<Range>) {
1659
176k
                std::copy(ranges::begin(range), ranges::end(range),
1660
176k
                          std::back_inserter(str));
1661
176k
            }
1662
176k
            else {
1663
176k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
176k
                     ++it) {
1665
176k
                    str.push_back(*it);
1666
176k
                }
1667
176k
            }
1668
176k
            m_view = string_view_type{str};
1669
176k
        }
1670
176k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1620
2.11M
    {
1621
2.11M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.11M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.11M
                      ranges::contiguous_range<Range> &&
1625
2.11M
                      ranges::sized_range<Range>) {
1626
2.11M
            m_storage.reset();
1627
2.11M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.11M
        }
1629
2.11M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.11M
                                          std::basic_string<CharT>>) {
1631
2.11M
            m_storage.emplace(SCN_FWD(range));
1632
2.11M
            m_view = string_view_type{*m_storage};
1633
2.11M
        }
1634
2.11M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.11M
                                          typename detail::basic_scan_buffer<
1636
2.11M
                                              value_t>::forward_iterator> &&
1637
2.11M
                           ranges::common_range<Range>) {
1638
2.11M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.11M
            auto end_seg = range.end().contiguous_segment();
1640
2.11M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.11M
                             detail::to_address(end_seg.end()))) {
1642
2.11M
                auto& str = m_storage.emplace();
1643
2.11M
                str.reserve(range.end().position() - range.begin().position());
1644
2.11M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
2.11M
                m_view = string_view_type{str};
1646
2.11M
                return;
1647
2.11M
            }
1648
1649
2.11M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.11M
                                                            end_seg.data());
1651
2.11M
            m_storage.reset();
1652
2.11M
        }
1653
2.11M
        else {
1654
2.11M
            auto& str = m_storage.emplace();
1655
2.11M
            if constexpr (ranges::sized_range<Range>) {
1656
2.11M
                str.reserve(range.size());
1657
2.11M
            }
1658
2.11M
            if constexpr (ranges::common_range<Range>) {
1659
2.11M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.11M
                          std::back_inserter(str));
1661
2.11M
            }
1662
2.11M
            else {
1663
2.11M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.11M
                     ++it) {
1665
2.11M
                    str.push_back(*it);
1666
2.11M
                }
1667
2.11M
            }
1668
2.11M
            m_view = string_view_type{str};
1669
2.11M
        }
1670
2.11M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1620
45.0k
    {
1621
45.0k
        using value_t = ranges::range_value_t<Range>;
1622
1623
45.0k
        if constexpr (ranges::borrowed_range<Range> &&
1624
45.0k
                      ranges::contiguous_range<Range> &&
1625
45.0k
                      ranges::sized_range<Range>) {
1626
45.0k
            m_storage.reset();
1627
45.0k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
45.0k
        }
1629
45.0k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
45.0k
                                          std::basic_string<CharT>>) {
1631
45.0k
            m_storage.emplace(SCN_FWD(range));
1632
45.0k
            m_view = string_view_type{*m_storage};
1633
45.0k
        }
1634
45.0k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
45.0k
                                          typename detail::basic_scan_buffer<
1636
45.0k
                                              value_t>::forward_iterator> &&
1637
45.0k
                           ranges::common_range<Range>) {
1638
45.0k
            auto beg_seg = range.begin().contiguous_segment();
1639
45.0k
            auto end_seg = range.end().contiguous_segment();
1640
45.0k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
45.0k
                             detail::to_address(end_seg.end()))) {
1642
45.0k
                auto& str = m_storage.emplace();
1643
45.0k
                str.reserve(range.end().position() - range.begin().position());
1644
45.0k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
45.0k
                m_view = string_view_type{str};
1646
45.0k
                return;
1647
45.0k
            }
1648
1649
45.0k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
45.0k
                                                            end_seg.data());
1651
45.0k
            m_storage.reset();
1652
45.0k
        }
1653
45.0k
        else {
1654
45.0k
            auto& str = m_storage.emplace();
1655
45.0k
            if constexpr (ranges::sized_range<Range>) {
1656
45.0k
                str.reserve(range.size());
1657
45.0k
            }
1658
45.0k
            if constexpr (ranges::common_range<Range>) {
1659
45.0k
                std::copy(ranges::begin(range), ranges::end(range),
1660
45.0k
                          std::back_inserter(str));
1661
45.0k
            }
1662
45.0k
            else {
1663
45.0k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
45.0k
                     ++it) {
1665
45.0k
                    str.push_back(*it);
1666
45.0k
                }
1667
45.0k
            }
1668
45.0k
            m_view = string_view_type{str};
1669
45.0k
        }
1670
45.0k
    }
1671
1672
    std::optional<string_type> m_storage{std::nullopt};
1673
    string_view_type m_view{};
1674
};
1675
1676
template <typename Range>
1677
contiguous_range_factory(Range)
1678
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1679
1680
template <typename Range>
1681
auto make_contiguous_buffer(Range&& range)
1682
72.5M
{
1683
72.5M
    if constexpr (ranges::borrowed_range<Range> &&
1684
72.5M
                  ranges::contiguous_range<Range> &&
1685
72.5M
                  ranges::sized_range<Range>) {
1686
50.4M
        return string_view_wrapper{SCN_FWD(range)};
1687
50.4M
    }
1688
22.1M
    else {
1689
22.1M
        return contiguous_range_factory{SCN_FWD(range)};
1690
22.1M
    }
1691
72.5M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1682
1.72M
{
1683
1.72M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.72M
                  ranges::contiguous_range<Range> &&
1685
1.72M
                  ranges::sized_range<Range>) {
1686
1.72M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.72M
    }
1688
1.72M
    else {
1689
1.72M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.72M
    }
1691
1.72M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1682
1.82k
{
1683
1.82k
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.82k
                  ranges::contiguous_range<Range> &&
1685
1.82k
                  ranges::sized_range<Range>) {
1686
1.82k
        return string_view_wrapper{SCN_FWD(range)};
1687
1.82k
    }
1688
1.82k
    else {
1689
1.82k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.82k
    }
1691
1.82k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1682
1.97M
{
1683
1.97M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.97M
                  ranges::contiguous_range<Range> &&
1685
1.97M
                  ranges::sized_range<Range>) {
1686
1.97M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.97M
    }
1688
1.97M
    else {
1689
1.97M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.97M
    }
1691
1.97M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1682
5.23M
{
1683
5.23M
    if constexpr (ranges::borrowed_range<Range> &&
1684
5.23M
                  ranges::contiguous_range<Range> &&
1685
5.23M
                  ranges::sized_range<Range>) {
1686
5.23M
        return string_view_wrapper{SCN_FWD(range)};
1687
5.23M
    }
1688
5.23M
    else {
1689
5.23M
        return contiguous_range_factory{SCN_FWD(range)};
1690
5.23M
    }
1691
5.23M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1682
20.3M
{
1683
20.3M
    if constexpr (ranges::borrowed_range<Range> &&
1684
20.3M
                  ranges::contiguous_range<Range> &&
1685
20.3M
                  ranges::sized_range<Range>) {
1686
20.3M
        return string_view_wrapper{SCN_FWD(range)};
1687
20.3M
    }
1688
20.3M
    else {
1689
20.3M
        return contiguous_range_factory{SCN_FWD(range)};
1690
20.3M
    }
1691
20.3M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1682
20
{
1683
20
    if constexpr (ranges::borrowed_range<Range> &&
1684
20
                  ranges::contiguous_range<Range> &&
1685
20
                  ranges::sized_range<Range>) {
1686
20
        return string_view_wrapper{SCN_FWD(range)};
1687
20
    }
1688
20
    else {
1689
20
        return contiguous_range_factory{SCN_FWD(range)};
1690
20
    }
1691
20
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1682
41.0M
{
1683
41.0M
    if constexpr (ranges::borrowed_range<Range> &&
1684
41.0M
                  ranges::contiguous_range<Range> &&
1685
41.0M
                  ranges::sized_range<Range>) {
1686
41.0M
        return string_view_wrapper{SCN_FWD(range)};
1687
41.0M
    }
1688
41.0M
    else {
1689
41.0M
        return contiguous_range_factory{SCN_FWD(range)};
1690
41.0M
    }
1691
41.0M
}
auto scn::v3::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1682
2.11M
{
1683
2.11M
    if constexpr (ranges::borrowed_range<Range> &&
1684
2.11M
                  ranges::contiguous_range<Range> &&
1685
2.11M
                  ranges::sized_range<Range>) {
1686
2.11M
        return string_view_wrapper{SCN_FWD(range)};
1687
2.11M
    }
1688
2.11M
    else {
1689
2.11M
        return contiguous_range_factory{SCN_FWD(range)};
1690
2.11M
    }
1691
2.11M
}
1692
}  // namespace impl
1693
1694
/////////////////////////////////////////////////////////////////
1695
// locale stuff
1696
/////////////////////////////////////////////////////////////////
1697
1698
#if !SCN_DISABLE_LOCALE
1699
1700
namespace detail {
1701
extern template locale_ref::locale_ref(const std::locale&);
1702
extern template auto locale_ref::get() const -> std::locale;
1703
}  // namespace detail
1704
1705
namespace impl {
1706
template <typename Facet>
1707
const Facet& get_facet(detail::locale_ref loc)
1708
{
1709
    auto stdloc = loc.get<std::locale>();
1710
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1711
    return std::use_facet<Facet>(stdloc);
1712
}
1713
1714
template <typename Facet>
1715
const Facet& get_or_add_facet(std::locale& stdloc)
1716
1.78M
{
1717
1.78M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.78M
        return std::use_facet<Facet>(stdloc);
1719
1.78M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.78M
}
std::__1::numpunct<char> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1716
1.60M
{
1717
1.60M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.60M
        return std::use_facet<Facet>(stdloc);
1719
1.60M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.60M
}
std::__1::numpunct<wchar_t> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1716
183k
{
1717
183k
    if (std::has_facet<Facet>(stdloc)) {
1718
183k
        return std::use_facet<Facet>(stdloc);
1719
183k
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
183k
}
1723
1724
class clocale_restorer {
1725
public:
1726
    clocale_restorer(int cat) : m_category(cat)
1727
2.27M
    {
1728
2.27M
        const auto loc = std::setlocale(cat, nullptr);
1729
2.27M
        std::strcpy(m_locbuf, loc);
1730
2.27M
    }
1731
    ~clocale_restorer()
1732
2.27M
    {
1733
        // Restore locale to what it was before
1734
2.27M
        std::setlocale(m_category, m_locbuf);
1735
2.27M
    }
1736
1737
    clocale_restorer(const clocale_restorer&) = delete;
1738
    clocale_restorer(clocale_restorer&&) = delete;
1739
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1740
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1741
1742
private:
1743
    // For whatever reason, this cannot be stored in the heap if
1744
    // setlocale hasn't been called before, or msan errors with
1745
    // 'use-of-unitialized-value' when resetting the locale
1746
    // back. POSIX specifies that the content of loc may not be
1747
    // static, so we need to save it ourselves
1748
    char m_locbuf[64] = {0};
1749
1750
    int m_category;
1751
};
1752
1753
class set_clocale_classic_guard {
1754
public:
1755
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1756
2.27M
    {
1757
2.27M
        std::setlocale(cat, "C");
1758
2.27M
    }
1759
1760
private:
1761
    clocale_restorer m_restorer;
1762
};
1763
}  // namespace impl
1764
1765
namespace impl {
1766
struct classic_with_thsep_tag {};
1767
1768
template <typename CharT>
1769
struct localized_number_formatting_options {
1770
5.27M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1770
4.70M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1770
566k
    localized_number_formatting_options() = default;
1771
1772
    localized_number_formatting_options(classic_with_thsep_tag)
1773
0
    {
1774
0
        grouping = "\3";
1775
0
        thousands_sep = CharT{','};
1776
0
    }
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
1777
1778
    localized_number_formatting_options(detail::locale_ref loc)
1779
1.78M
    {
1780
1.78M
        auto stdloc = loc.get<std::locale>();
1781
1.78M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.78M
        grouping = numpunct.grouping();
1783
1.78M
        thousands_sep =
1784
1.78M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.78M
        decimal_point = numpunct.decimal_point();
1786
1.78M
    }
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
1.60M
    {
1780
1.60M
        auto stdloc = loc.get<std::locale>();
1781
1.60M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.60M
        grouping = numpunct.grouping();
1783
1.60M
        thousands_sep =
1784
1.60M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.60M
        decimal_point = numpunct.decimal_point();
1786
1.60M
    }
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
183k
    {
1780
183k
        auto stdloc = loc.get<std::locale>();
1781
183k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
183k
        grouping = numpunct.grouping();
1783
183k
        thousands_sep =
1784
183k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
183k
        decimal_point = numpunct.decimal_point();
1786
183k
    }
1787
1788
    std::string grouping{};
1789
    CharT thousands_sep{0};
1790
    CharT decimal_point{CharT{'.'}};
1791
};
1792
}  // namespace impl
1793
1794
#else
1795
1796
namespace impl {
1797
struct set_clocale_classic_guard {
1798
    set_clocale_classic_guard(int) {}
1799
};
1800
1801
struct classic_with_thsep_tag {};
1802
1803
template <typename CharT>
1804
struct localized_number_formatting_options {
1805
    localized_number_formatting_options() = default;
1806
1807
    localized_number_formatting_options(classic_with_thsep_tag)
1808
    {
1809
        grouping = "\3";
1810
        thousands_sep = CharT{','};
1811
    }
1812
1813
    std::string grouping{};
1814
    CharT thousands_sep{0};
1815
    CharT decimal_point{CharT{'.'}};
1816
};
1817
}  // namespace impl
1818
1819
#endif  // !SCN_DISABLE_LOCALE
1820
1821
/////////////////////////////////////////////////////////////////
1822
// Range reading algorithms
1823
/////////////////////////////////////////////////////////////////
1824
1825
namespace impl {
1826
1827
std::string_view::iterator find_classic_space_narrow_fast(
1828
    std::string_view source);
1829
1830
std::string_view::iterator find_classic_nonspace_narrow_fast(
1831
    std::string_view source);
1832
1833
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1834
    std::string_view source);
1835
1836
template <typename Range>
1837
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1838
1.77M
{
1839
1.77M
    return ranges::next(range.begin(), range.end());
1840
1.77M
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
1.62M
{
1839
1.62M
    return ranges::next(range.begin(), range.end());
1840
1.62M
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
126
{
1839
126
    return ranges::next(range.begin(), range.end());
1840
126
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
158k
{
1839
158k
    return ranges::next(range.begin(), range.end());
1840
158k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
1841
1842
template <typename Range>
1843
auto read_code_unit(Range range)
1844
    -> eof_expected<ranges::const_iterator_t<Range>>
1845
17.3M
{
1846
17.3M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
38.1k
        return unexpected(e);
1848
38.1k
    }
1849
1850
17.3M
    return ranges::next(range.begin());
1851
17.3M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
9.55M
{
1846
9.55M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
29.4k
        return unexpected(e);
1848
29.4k
    }
1849
1850
9.52M
    return ranges::next(range.begin());
1851
9.55M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
1.89k
{
1846
1.89k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
1.89k
    return ranges::next(range.begin());
1851
1.89k
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
36
{
1846
36
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
36
    return ranges::next(range.begin());
1851
36
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
6.24M
{
1846
6.24M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
7.47k
        return unexpected(e);
1848
7.47k
    }
1849
1850
6.23M
    return ranges::next(range.begin());
1851
6.24M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
824k
{
1846
824k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
855
        return unexpected(e);
1848
855
    }
1849
1850
823k
    return ranges::next(range.begin());
1851
824k
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
70
{
1846
70
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
70
    return ranges::next(range.begin());
1851
70
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
766k
{
1846
766k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
360
        return unexpected(e);
1848
360
    }
1849
1850
766k
    return ranges::next(range.begin());
1851
766k
}
1852
1853
template <typename Range>
1854
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1855
    -> eof_expected<ranges::const_iterator_t<Range>>
1856
10.3M
{
1857
10.3M
    SCN_EXPECT(count >= 0);
1858
1859
10.3M
    if constexpr (ranges::sized_range<Range>) {
1860
9.26M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
9.26M
        if (sz < count) {
1862
76.6k
            return unexpected(eof_error::eof);
1863
76.6k
        }
1864
1865
964k
        return ranges::next(range.begin(), count);
1866
1.04M
    }
1867
9.26M
    else {
1868
9.26M
        auto it = range.begin();
1869
9.26M
        if (guaranteed_minimum_size(range) >= count) {
1870
6.40M
            return ranges::next(it, count);
1871
6.40M
        }
1872
1873
11.1M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
8.44M
            if (it == range.end()) {
1875
149k
                return unexpected(eof_error::eof);
1876
149k
            }
1877
8.44M
        }
1878
1879
2.70M
        return it;
1880
2.85M
    }
1881
10.3M
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
8.25M
{
1857
8.25M
    SCN_EXPECT(count >= 0);
1858
1859
8.25M
    if constexpr (ranges::sized_range<Range>) {
1860
8.25M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
8.25M
        if (sz < count) {
1862
8.25M
            return unexpected(eof_error::eof);
1863
8.25M
        }
1864
1865
8.25M
        return ranges::next(range.begin(), count);
1866
8.25M
    }
1867
8.25M
    else {
1868
8.25M
        auto it = range.begin();
1869
8.25M
        if (guaranteed_minimum_size(range) >= count) {
1870
5.73M
            return ranges::next(it, count);
1871
5.73M
        }
1872
1873
9.92M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
7.47M
            if (it == range.end()) {
1875
72.5k
                return unexpected(eof_error::eof);
1876
72.5k
            }
1877
7.47M
        }
1878
1879
2.44M
        return it;
1880
2.51M
    }
1881
8.25M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
30.0k
{
1857
30.0k
    SCN_EXPECT(count >= 0);
1858
1859
30.0k
    if constexpr (ranges::sized_range<Range>) {
1860
30.0k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
30.0k
        if (sz < count) {
1862
276
            return unexpected(eof_error::eof);
1863
276
        }
1864
1865
29.8k
        return ranges::next(range.begin(), count);
1866
30.0k
    }
1867
30.0k
    else {
1868
30.0k
        auto it = range.begin();
1869
30.0k
        if (guaranteed_minimum_size(range) >= count) {
1870
30.0k
            return ranges::next(it, count);
1871
30.0k
        }
1872
1873
30.0k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
30.0k
            if (it == range.end()) {
1875
30.0k
                return unexpected(eof_error::eof);
1876
30.0k
            }
1877
30.0k
        }
1878
1879
30.0k
        return it;
1880
30.0k
    }
1881
30.0k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
1.44k
{
1857
1.44k
    SCN_EXPECT(count >= 0);
1858
1859
1.44k
    if constexpr (ranges::sized_range<Range>) {
1860
1.44k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.44k
        if (sz < count) {
1862
1.44k
            return unexpected(eof_error::eof);
1863
1.44k
        }
1864
1865
1.44k
        return ranges::next(range.begin(), count);
1866
1.44k
    }
1867
1.44k
    else {
1868
1.44k
        auto it = range.begin();
1869
1.44k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
4.92k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
3.67k
            if (it == range.end()) {
1875
190
                return unexpected(eof_error::eof);
1876
190
            }
1877
3.67k
        }
1878
1879
1.25k
        return it;
1880
1.44k
    }
1881
1.44k
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
1.00M
{
1857
1.00M
    SCN_EXPECT(count >= 0);
1858
1859
1.00M
    if constexpr (ranges::sized_range<Range>) {
1860
1.00M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.00M
        if (sz < count) {
1862
1.00M
            return unexpected(eof_error::eof);
1863
1.00M
        }
1864
1865
1.00M
        return ranges::next(range.begin(), count);
1866
1.00M
    }
1867
1.00M
    else {
1868
1.00M
        auto it = range.begin();
1869
1.00M
        if (guaranteed_minimum_size(range) >= count) {
1870
664k
            return ranges::next(it, count);
1871
664k
        }
1872
1873
1.21M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
957k
            if (it == range.end()) {
1875
76.2k
                return unexpected(eof_error::eof);
1876
76.2k
            }
1877
957k
        }
1878
1879
262k
        return it;
1880
339k
    }
1881
1.00M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
1.01M
{
1857
1.01M
    SCN_EXPECT(count >= 0);
1858
1859
1.01M
    if constexpr (ranges::sized_range<Range>) {
1860
1.01M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.01M
        if (sz < count) {
1862
76.4k
            return unexpected(eof_error::eof);
1863
76.4k
        }
1864
1865
934k
        return ranges::next(range.begin(), count);
1866
1.01M
    }
1867
1.01M
    else {
1868
1.01M
        auto it = range.begin();
1869
1.01M
        if (guaranteed_minimum_size(range) >= count) {
1870
1.01M
            return ranges::next(it, count);
1871
1.01M
        }
1872
1873
1.01M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.01M
            if (it == range.end()) {
1875
1.01M
                return unexpected(eof_error::eof);
1876
1.01M
            }
1877
1.01M
        }
1878
1879
1.01M
        return it;
1880
1.01M
    }
1881
1.01M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
40
{
1857
40
    SCN_EXPECT(count >= 0);
1858
1859
40
    if constexpr (ranges::sized_range<Range>) {
1860
40
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
40
        if (sz < count) {
1862
40
            return unexpected(eof_error::eof);
1863
40
        }
1864
1865
40
        return ranges::next(range.begin(), count);
1866
40
    }
1867
40
    else {
1868
40
        auto it = range.begin();
1869
40
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
136
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
100
            if (it == range.end()) {
1875
4
                return unexpected(eof_error::eof);
1876
4
            }
1877
100
        }
1878
1879
36
        return it;
1880
40
    }
1881
40
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
724
{
1857
724
    SCN_EXPECT(count >= 0);
1858
1859
724
    if constexpr (ranges::sized_range<Range>) {
1860
724
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
724
        if (sz < count) {
1862
724
            return unexpected(eof_error::eof);
1863
724
        }
1864
1865
724
        return ranges::next(range.begin(), count);
1866
724
    }
1867
724
    else {
1868
724
        auto it = range.begin();
1869
724
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
3.74k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
3.11k
            if (it == range.end()) {
1875
90
                return unexpected(eof_error::eof);
1876
90
            }
1877
3.11k
        }
1878
1879
634
        return it;
1880
724
    }
1881
724
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
20
{
1857
20
    SCN_EXPECT(count >= 0);
1858
1859
20
    if constexpr (ranges::sized_range<Range>) {
1860
20
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
20
        if (sz < count) {
1862
20
            return unexpected(eof_error::eof);
1863
20
        }
1864
1865
20
        return ranges::next(range.begin(), count);
1866
20
    }
1867
20
    else {
1868
20
        auto it = range.begin();
1869
20
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
76
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
76
            if (it == range.end()) {
1875
20
                return unexpected(eof_error::eof);
1876
20
            }
1877
76
        }
1878
1879
0
        return it;
1880
20
    }
1881
20
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1882
1883
template <typename Iterator, typename CharT>
1884
struct read_code_point_into_result {
1885
    Iterator iterator;
1886
    std::basic_string<CharT> codepoint;
1887
1888
    bool is_valid() const
1889
716M
    {
1890
716M
        return !codepoint.empty();
1891
716M
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1889
97.6k
    {
1890
97.6k
        return !codepoint.empty();
1891
97.6k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
Line
Count
Source
1889
10.0M
    {
1890
10.0M
        return !codepoint.empty();
1891
10.0M
    }
scn::v3::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1889
480k
    {
1890
480k
        return !codepoint.empty();
1891
480k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1889
174
    {
1890
174
        return !codepoint.empty();
1891
174
    }
scn::v3::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1889
470M
    {
1890
470M
        return !codepoint.empty();
1891
470M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
Line
Count
Source
1889
235M
    {
1890
235M
        return !codepoint.empty();
1891
235M
    }
1892
};
1893
1894
template <typename Range>
1895
auto read_code_point_into(Range range)
1896
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1897
                                   detail::char_t<Range>>
1898
716M
{
1899
716M
    SCN_EXPECT(!is_range_eof(range));
1900
716M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
716M
    auto it = range.begin();
1903
716M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
716M
    if (SCN_UNLIKELY(len == 0)) {
1906
22.6k
        ++it;
1907
22.6k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
22.6k
        return {it, {}};
1909
22.6k
    }
1910
1911
716M
    if (len == 1) {
1912
716M
        ++it;
1913
716M
        return {it, string_type(1, *range.begin())};
1914
716M
    }
1915
1916
217k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
217k
    return {it, string_type{range.begin(), it}};
1918
716M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
97.6k
{
1899
97.6k
    SCN_EXPECT(!is_range_eof(range));
1900
97.6k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
97.6k
    auto it = range.begin();
1903
97.6k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
97.6k
    if (SCN_UNLIKELY(len == 0)) {
1906
3.26k
        ++it;
1907
3.26k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
3.26k
        return {it, {}};
1909
3.26k
    }
1910
1911
94.3k
    if (len == 1) {
1912
85.9k
        ++it;
1913
85.9k
        return {it, string_type(1, *range.begin())};
1914
85.9k
    }
1915
1916
8.46k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
8.46k
    return {it, string_type{range.begin(), it}};
1918
94.3k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
10.0M
{
1899
10.0M
    SCN_EXPECT(!is_range_eof(range));
1900
10.0M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
10.0M
    auto it = range.begin();
1903
10.0M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
10.0M
    if (SCN_UNLIKELY(len == 0)) {
1906
17.2k
        ++it;
1907
17.2k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
17.2k
        return {it, {}};
1909
17.2k
    }
1910
1911
9.99M
    if (len == 1) {
1912
9.83M
        ++it;
1913
9.83M
        return {it, string_type(1, *range.begin())};
1914
9.83M
    }
1915
1916
157k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
157k
    return {it, string_type{range.begin(), it}};
1918
9.99M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
480k
{
1899
480k
    SCN_EXPECT(!is_range_eof(range));
1900
480k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
480k
    auto it = range.begin();
1903
480k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
480k
    if (SCN_UNLIKELY(len == 0)) {
1906
2.16k
        ++it;
1907
2.16k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
2.16k
        return {it, {}};
1909
2.16k
    }
1910
1911
478k
    if (len == 1) {
1912
427k
        ++it;
1913
427k
        return {it, string_type(1, *range.begin())};
1914
427k
    }
1915
1916
51.2k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
51.2k
    return {it, string_type{range.begin(), it}};
1918
478k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
470M
{
1899
470M
    SCN_EXPECT(!is_range_eof(range));
1900
470M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
470M
    auto it = range.begin();
1903
470M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
470M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
470M
    if (len == 1) {
1912
470M
        ++it;
1913
470M
        return {it, string_type(1, *range.begin())};
1914
470M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
470M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
174
{
1899
174
    SCN_EXPECT(!is_range_eof(range));
1900
174
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
174
    auto it = range.begin();
1903
174
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
174
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
174
    if (len == 1) {
1912
174
        ++it;
1913
174
        return {it, string_type(1, *range.begin())};
1914
174
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
174
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
235M
{
1899
235M
    SCN_EXPECT(!is_range_eof(range));
1900
235M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
235M
    auto it = range.begin();
1903
235M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
235M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
235M
    if (len == 1) {
1912
235M
        ++it;
1913
235M
        return {it, string_type(1, *range.begin())};
1914
235M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
235M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
1919
1920
template <typename Range>
1921
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
1922
{
1923
    return read_code_point_into(range).iterator;
1924
}
1925
1926
template <typename Range>
1927
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
1928
    -> eof_expected<ranges::const_iterator_t<Range>>
1929
{
1930
    SCN_EXPECT(count >= 0);
1931
1932
    if (count > 0) {
1933
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1934
            return unexpected(e);
1935
        }
1936
    }
1937
1938
    auto it = range.begin();
1939
    for (std::ptrdiff_t i = 0; i < count; ++i) {
1940
        auto rng = ranges::subrange{it, range.end()};
1941
1942
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
1943
            return unexpected(e);
1944
        }
1945
1946
        it = read_code_point(rng);
1947
    }
1948
1949
    return it;
1950
}
1951
1952
template <typename Range>
1953
auto read_until_code_unit(Range range,
1954
                          function_ref<bool(detail::char_t<Range>)> pred)
1955
    -> ranges::const_iterator_t<Range>
1956
8.33M
{
1957
8.33M
    if constexpr (ranges::common_range<Range>) {
1958
6.91M
        return std::find_if(range.begin(), range.end(), pred);
1959
6.91M
    }
1960
6.91M
    else {
1961
6.91M
        auto first = range.begin();
1962
32.6M
        for (; first != range.end(); ++first) {
1963
32.6M
            if (pred(*first)) {
1964
6.85M
                return first;
1965
6.85M
            }
1966
32.6M
        }
1967
59.5k
        return first;
1968
6.91M
    }
1969
8.33M
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
6.26M
{
1957
6.26M
    if constexpr (ranges::common_range<Range>) {
1958
6.26M
        return std::find_if(range.begin(), range.end(), pred);
1959
6.26M
    }
1960
6.26M
    else {
1961
6.26M
        auto first = range.begin();
1962
31.9M
        for (; first != range.end(); ++first) {
1963
31.8M
            if (pred(*first)) {
1964
6.21M
                return first;
1965
6.21M
            }
1966
31.8M
        }
1967
56.9k
        return first;
1968
6.26M
    }
1969
6.26M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
1.07k
{
1957
1.07k
    if constexpr (ranges::common_range<Range>) {
1958
1.07k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.07k
    }
1960
1.07k
    else {
1961
1.07k
        auto first = range.begin();
1962
1.07k
        for (; first != range.end(); ++first) {
1963
1.07k
            if (pred(*first)) {
1964
1.07k
                return first;
1965
1.07k
            }
1966
1.07k
        }
1967
0
        return first;
1968
1.07k
    }
1969
1.07k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
1.26M
{
1957
1.26M
    if constexpr (ranges::common_range<Range>) {
1958
1.26M
        return std::find_if(range.begin(), range.end(), pred);
1959
1.26M
    }
1960
1.26M
    else {
1961
1.26M
        auto first = range.begin();
1962
1.26M
        for (; first != range.end(); ++first) {
1963
1.26M
            if (pred(*first)) {
1964
1.26M
                return first;
1965
1.26M
            }
1966
1.26M
        }
1967
1.26M
        return first;
1968
1.26M
    }
1969
1.26M
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
1.60k
{
1957
1.60k
    if constexpr (ranges::common_range<Range>) {
1958
1.60k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.60k
    }
1960
1.60k
    else {
1961
1.60k
        auto first = range.begin();
1962
13.4k
        for (; first != range.end(); ++first) {
1963
13.1k
            if (pred(*first)) {
1964
1.29k
                return first;
1965
1.29k
            }
1966
13.1k
        }
1967
316
        return first;
1968
1.60k
    }
1969
1.60k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
643k
{
1957
643k
    if constexpr (ranges::common_range<Range>) {
1958
643k
        return std::find_if(range.begin(), range.end(), pred);
1959
643k
    }
1960
643k
    else {
1961
643k
        auto first = range.begin();
1962
713k
        for (; first != range.end(); ++first) {
1963
711k
            if (pred(*first)) {
1964
641k
                return first;
1965
641k
            }
1966
711k
        }
1967
2.22k
        return first;
1968
643k
    }
1969
643k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
40
{
1957
40
    if constexpr (ranges::common_range<Range>) {
1958
40
        return std::find_if(range.begin(), range.end(), pred);
1959
40
    }
1960
40
    else {
1961
40
        auto first = range.begin();
1962
40
        for (; first != range.end(); ++first) {
1963
40
            if (pred(*first)) {
1964
40
                return first;
1965
40
            }
1966
40
        }
1967
0
        return first;
1968
40
    }
1969
40
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
153k
{
1957
153k
    if constexpr (ranges::common_range<Range>) {
1958
153k
        return std::find_if(range.begin(), range.end(), pred);
1959
153k
    }
1960
153k
    else {
1961
153k
        auto first = range.begin();
1962
153k
        for (; first != range.end(); ++first) {
1963
153k
            if (pred(*first)) {
1964
153k
                return first;
1965
153k
            }
1966
153k
        }
1967
153k
        return first;
1968
153k
    }
1969
153k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
1970
1971
template <typename Range>
1972
auto read_while_code_unit(Range range,
1973
                          function_ref<bool(detail::char_t<Range>)> pred)
1974
    -> ranges::const_iterator_t<Range>
1975
8.33M
{
1976
8.33M
    return read_until_code_unit(range, std::not_fn(pred));
1977
8.33M
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
6.26M
{
1976
6.26M
    return read_until_code_unit(range, std::not_fn(pred));
1977
6.26M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
1.07k
{
1976
1.07k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.07k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
1.26M
{
1976
1.26M
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.26M
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
1.22k
{
1976
1.22k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.22k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
643k
{
1976
643k
    return read_until_code_unit(range, std::not_fn(pred));
1977
643k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
40
{
1976
40
    return read_until_code_unit(range, std::not_fn(pred));
1977
40
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
153k
{
1976
153k
    return read_until_code_unit(range, std::not_fn(pred));
1977
153k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
1978
1979
template <typename Range>
1980
auto read_until1_code_unit(Range range,
1981
                           function_ref<bool(detail::char_t<Range>)> pred)
1982
    -> parse_expected<ranges::const_iterator_t<Range>>
1983
{
1984
    auto it = read_until_code_unit(range, pred);
1985
    if (it == range.begin()) {
1986
        return unexpected(parse_error::error);
1987
    }
1988
    return it;
1989
}
1990
1991
template <typename Range>
1992
auto read_while1_code_unit(Range range,
1993
                           function_ref<bool(detail::char_t<Range>)> pred)
1994
    -> parse_expected<ranges::const_iterator_t<Range>>
1995
8.30M
{
1996
8.30M
    auto it = read_while_code_unit(range, pred);
1997
8.30M
    if (it == range.begin()) {
1998
3.23M
        return unexpected(parse_error::error);
1999
3.23M
    }
2000
5.07M
    return it;
2001
8.30M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
6.26M
{
1996
6.26M
    auto it = read_while_code_unit(range, pred);
1997
6.26M
    if (it == range.begin()) {
1998
2.01M
        return unexpected(parse_error::error);
1999
2.01M
    }
2000
4.25M
    return it;
2001
6.26M
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
1.07k
{
1996
1.07k
    auto it = read_while_code_unit(range, pred);
1997
1.07k
    if (it == range.begin()) {
1998
1.07k
        return unexpected(parse_error::error);
1999
1.07k
    }
2000
0
    return it;
2001
1.07k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
1.25M
{
1996
1.25M
    auto it = read_while_code_unit(range, pred);
1997
1.25M
    if (it == range.begin()) {
1998
514k
        return unexpected(parse_error::error);
1999
514k
    }
2000
743k
    return it;
2001
1.25M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
640k
{
1996
640k
    auto it = read_while_code_unit(range, pred);
1997
640k
    if (it == range.begin()) {
1998
584k
        return unexpected(parse_error::error);
1999
584k
    }
2000
56.3k
    return it;
2001
640k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
40
{
1996
40
    auto it = read_while_code_unit(range, pred);
1997
40
    if (it == range.begin()) {
1998
40
        return unexpected(parse_error::error);
1999
40
    }
2000
0
    return it;
2001
40
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
146k
{
1996
146k
    auto it = read_while_code_unit(range, pred);
1997
146k
    if (it == range.begin()) {
1998
126k
        return unexpected(parse_error::error);
1999
126k
    }
2000
20.1k
    return it;
2001
146k
}
2002
2003
template <typename Range, typename CodeUnits>
2004
auto read_until_code_units(Range range, const CodeUnits& needle)
2005
    -> ranges::const_iterator_t<Range>
2006
90
{
2007
90
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
90
    if constexpr (ranges::common_range<Range>) {
2010
42
        return std::search(range.begin(), range.end(), needle.begin(),
2011
42
                           needle.end());
2012
42
    }
2013
42
    else {
2014
42
        auto first = range.begin();
2015
126
        while (true) {
2016
126
            auto it = first;
2017
240
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
240
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
210
                if (it == range.end()) {
2022
12
                    return it;
2023
12
                }
2024
198
                if (*it != *needle_it) {
2025
84
                    break;
2026
84
                }
2027
198
            }
2028
84
            ++first;
2029
84
        }
2030
42
    }
2031
90
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2006
42
{
2007
42
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
42
    if constexpr (ranges::common_range<Range>) {
2010
42
        return std::search(range.begin(), range.end(), needle.begin(),
2011
42
                           needle.end());
2012
42
    }
2013
42
    else {
2014
42
        auto first = range.begin();
2015
126
        while (true) {
2016
126
            auto it = first;
2017
240
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
240
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
210
                if (it == range.end()) {
2022
12
                    return it;
2023
12
                }
2024
198
                if (*it != *needle_it) {
2025
84
                    break;
2026
84
                }
2027
198
            }
2028
84
            ++first;
2029
84
        }
2030
42
    }
2031
42
}
_ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2006
48
{
2007
48
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
48
    if constexpr (ranges::common_range<Range>) {
2010
48
        return std::search(range.begin(), range.end(), needle.begin(),
2011
48
                           needle.end());
2012
48
    }
2013
48
    else {
2014
48
        auto first = range.begin();
2015
48
        while (true) {
2016
48
            auto it = first;
2017
48
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
48
                if (needle_it == needle.end()) {
2019
48
                    return first;
2020
48
                }
2021
48
                if (it == range.end()) {
2022
48
                    return it;
2023
48
                }
2024
48
                if (*it != *needle_it) {
2025
48
                    break;
2026
48
                }
2027
48
            }
2028
48
            ++first;
2029
48
        }
2030
48
    }
2031
48
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2032
2033
template <typename Range, typename CodeUnits>
2034
auto read_while_code_units(Range range, const CodeUnits& needle)
2035
    -> ranges::const_iterator_t<Range>
2036
434
{
2037
434
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
434
    auto it = range.begin();
2040
536
    while (it != range.end()) {
2041
500
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
500
                                           needle.size());
2043
500
        if (!r) {
2044
78
            return it;
2045
78
        }
2046
422
        static_assert(
2047
422
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
422
        if (!std::equal(it, *r, needle.begin())) {
2049
320
            return it;
2050
320
        }
2051
102
        it = *r;
2052
102
    }
2053
36
    SCN_ENSURE(it == range.end());
2054
36
    return it;
2055
36
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2036
154
{
2037
154
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
154
    auto it = range.begin();
2040
202
    while (it != range.end()) {
2041
202
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
202
                                           needle.size());
2043
202
        if (!r) {
2044
6
            return it;
2045
6
        }
2046
196
        static_assert(
2047
196
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
196
        if (!std::equal(it, *r, needle.begin())) {
2049
148
            return it;
2050
148
        }
2051
48
        it = *r;
2052
48
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2036
280
{
2037
280
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
280
    auto it = range.begin();
2040
334
    while (it != range.end()) {
2041
298
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
298
                                           needle.size());
2043
298
        if (!r) {
2044
72
            return it;
2045
72
        }
2046
226
        static_assert(
2047
226
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
226
        if (!std::equal(it, *r, needle.begin())) {
2049
172
            return it;
2050
172
        }
2051
54
        it = *r;
2052
54
    }
2053
36
    SCN_ENSURE(it == range.end());
2054
36
    return it;
2055
36
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
2056
2057
template <typename Range>
2058
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2059
    -> ranges::const_iterator_t<Range>
2060
128M
{
2061
128M
    auto it = range.begin();
2062
716M
    while (it != range.end()) {
2063
716M
        const auto val =
2064
716M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
716M
        if (SCN_LIKELY(val.is_valid())) {
2066
716M
            const auto cp = detail::decode_code_point_exhaustive(
2067
716M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
716M
            if (pred(cp)) {
2069
128M
                return it;
2070
128M
            }
2071
716M
        }
2072
588M
        it = val.iterator;
2073
588M
    }
2074
2075
112k
    return it;
2076
128M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
2.70k
{
2061
2.70k
    auto it = range.begin();
2062
74.9k
    while (it != range.end()) {
2063
74.6k
        const auto val =
2064
74.6k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
74.6k
        if (SCN_LIKELY(val.is_valid())) {
2066
73.9k
            const auto cp = detail::decode_code_point_exhaustive(
2067
73.9k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
73.9k
            if (pred(cp)) {
2069
2.42k
                return it;
2070
2.42k
            }
2071
73.9k
        }
2072
72.2k
        it = val.iterator;
2073
72.2k
    }
2074
2075
274
    return it;
2076
2.70k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
4.49M
{
2061
4.49M
    auto it = range.begin();
2062
10.0M
    while (it != range.end()) {
2063
10.0M
        const auto val =
2064
10.0M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
10.0M
        if (SCN_LIKELY(val.is_valid())) {
2066
9.99M
            const auto cp = detail::decode_code_point_exhaustive(
2067
9.99M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
9.99M
            if (pred(cp)) {
2069
4.45M
                return it;
2070
4.45M
            }
2071
9.99M
        }
2072
5.55M
        it = val.iterator;
2073
5.55M
    }
2074
2075
46.3k
    return it;
2076
4.49M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
738
{
2061
738
    auto it = range.begin();
2062
23.4k
    while (it != range.end()) {
2063
22.9k
        const auto val =
2064
22.9k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
22.9k
        if (SCN_LIKELY(val.is_valid())) {
2066
20.4k
            const auto cp = detail::decode_code_point_exhaustive(
2067
20.4k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
20.4k
            if (pred(cp)) {
2069
246
                return it;
2070
246
            }
2071
20.4k
        }
2072
22.7k
        it = val.iterator;
2073
22.7k
    }
2074
2075
492
    return it;
2076
738
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
2.77k
{
2061
2.77k
    auto it = range.begin();
2062
480k
    while (it != range.end()) {
2063
480k
        const auto val =
2064
480k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
480k
        if (SCN_LIKELY(val.is_valid())) {
2066
478k
            const auto cp = detail::decode_code_point_exhaustive(
2067
478k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
478k
            if (pred(cp)) {
2069
2.55k
                return it;
2070
2.55k
            }
2071
478k
        }
2072
478k
        it = val.iterator;
2073
478k
    }
2074
2075
222
    return it;
2076
2.77k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
90
{
2061
90
    auto it = range.begin();
2062
90
    while (it != range.end()) {
2063
90
        const auto val =
2064
90
            read_code_point_into(ranges::subrange{it, range.end()});
2065
90
        if (SCN_LIKELY(val.is_valid())) {
2066
90
            const auto cp = detail::decode_code_point_exhaustive(
2067
90
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
90
            if (pred(cp)) {
2069
90
                return it;
2070
90
            }
2071
90
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
90
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
82.3M
{
2061
82.3M
    auto it = range.begin();
2062
470M
    while (it != range.end()) {
2063
470M
        const auto val =
2064
470M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
470M
        if (SCN_LIKELY(val.is_valid())) {
2066
470M
            const auto cp = detail::decode_code_point_exhaustive(
2067
470M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
470M
            if (pred(cp)) {
2069
82.2M
                return it;
2070
82.2M
            }
2071
470M
        }
2072
388M
        it = val.iterator;
2073
388M
    }
2074
2075
52.8k
    return it;
2076
82.3M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
41.4M
{
2061
41.4M
    auto it = range.begin();
2062
235M
    while (it != range.end()) {
2063
235M
        const auto val =
2064
235M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
235M
        if (SCN_LIKELY(val.is_valid())) {
2066
235M
            const auto cp = detail::decode_code_point_exhaustive(
2067
235M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
235M
            if (pred(cp)) {
2069
41.4M
                return it;
2070
41.4M
            }
2071
235M
        }
2072
193M
        it = val.iterator;
2073
193M
    }
2074
2075
12.4k
    return it;
2076
41.4M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
30
{
2061
30
    auto it = range.begin();
2062
114
    while (it != range.end()) {
2063
84
        const auto val =
2064
84
            read_code_point_into(ranges::subrange{it, range.end()});
2065
84
        if (SCN_LIKELY(val.is_valid())) {
2066
84
            const auto cp = detail::decode_code_point_exhaustive(
2067
84
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
84
            if (pred(cp)) {
2069
0
                return it;
2070
0
            }
2071
84
        }
2072
84
        it = val.iterator;
2073
84
    }
2074
2075
30
    return it;
2076
30
}
2077
2078
template <typename Range>
2079
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2080
    -> ranges::const_iterator_t<Range>
2081
66.8M
{
2082
66.8M
    return read_until_code_point(range, std::not_fn(pred));
2083
66.8M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
2.62k
{
2082
2.62k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.62k
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
4.34M
{
2082
4.34M
    return read_until_code_point(range, std::not_fn(pred));
2083
4.34M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.49k
{
2082
2.49k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.49k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
90
{
2082
90
    return read_until_code_point(range, std::not_fn(pred));
2083
90
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
41.5M
{
2082
41.5M
    return read_until_code_point(range, std::not_fn(pred));
2083
41.5M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
21.0M
{
2082
21.0M
    return read_until_code_point(range, std::not_fn(pred));
2083
21.0M
}
2084
2085
template <typename Range>
2086
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2087
63.7M
{
2088
63.7M
    if constexpr (ranges::contiguous_range<Range> &&
2089
63.7M
                  ranges::sized_range<Range> &&
2090
63.7M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
61.3M
        auto buf = make_contiguous_buffer(range);
2092
61.3M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
61.3M
        return ranges::next(range.begin(),
2094
61.3M
                            ranges::distance(buf.view().begin(), it));
2095
61.3M
    }
2096
61.3M
    else {
2097
61.3M
        auto it = range.begin();
2098
2099
61.3M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
156k
            auto seg = get_contiguous_beginning(range);
2101
156k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
156k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
156k
            ranges::advance(it, seg.size());
2106
156k
        }
2107
2108
156k
        return read_until_code_point(
2109
156k
            ranges::subrange{it, range.end()},
2110
526M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
1.07M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
20.4k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
175M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
84
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2110
350M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2110
96.0k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
61.3M
    }
2112
63.7M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
155k
{
2088
155k
    if constexpr (ranges::contiguous_range<Range> &&
2089
155k
                  ranges::sized_range<Range> &&
2090
155k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
155k
        auto buf = make_contiguous_buffer(range);
2092
155k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
155k
        return ranges::next(range.begin(),
2094
155k
                            ranges::distance(buf.view().begin(), it));
2095
155k
    }
2096
155k
    else {
2097
155k
        auto it = range.begin();
2098
2099
155k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
155k
            auto seg = get_contiguous_beginning(range);
2101
155k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
155k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
155k
            ranges::advance(it, seg.size());
2106
155k
        }
2107
2108
155k
        return read_until_code_point(
2109
155k
            ranges::subrange{it, range.end()},
2110
155k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
155k
    }
2112
155k
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
738
{
2088
738
    if constexpr (ranges::contiguous_range<Range> &&
2089
738
                  ranges::sized_range<Range> &&
2090
738
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
738
        auto buf = make_contiguous_buffer(range);
2092
738
        auto it = find_classic_space_narrow_fast(buf.view());
2093
738
        return ranges::next(range.begin(),
2094
738
                            ranges::distance(buf.view().begin(), it));
2095
738
    }
2096
738
    else {
2097
738
        auto it = range.begin();
2098
2099
738
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
738
            auto seg = get_contiguous_beginning(range);
2101
738
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
738
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
738
            ranges::advance(it, seg.size());
2106
738
        }
2107
2108
738
        return read_until_code_point(
2109
738
            ranges::subrange{it, range.end()},
2110
738
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
738
    }
2112
738
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
310k
{
2088
310k
    if constexpr (ranges::contiguous_range<Range> &&
2089
310k
                  ranges::sized_range<Range> &&
2090
310k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
310k
        auto buf = make_contiguous_buffer(range);
2092
310k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
310k
        return ranges::next(range.begin(),
2094
310k
                            ranges::distance(buf.view().begin(), it));
2095
310k
    }
2096
310k
    else {
2097
310k
        auto it = range.begin();
2098
2099
310k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
310k
            auto seg = get_contiguous_beginning(range);
2101
310k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
310k
                seg_it != seg.end()) {
2103
310k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
310k
            }
2105
310k
            ranges::advance(it, seg.size());
2106
310k
        }
2107
2108
310k
        return read_until_code_point(
2109
310k
            ranges::subrange{it, range.end()},
2110
310k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
310k
    }
2112
310k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
20.3M
{
2088
20.3M
    if constexpr (ranges::contiguous_range<Range> &&
2089
20.3M
                  ranges::sized_range<Range> &&
2090
20.3M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
20.3M
        auto buf = make_contiguous_buffer(range);
2092
20.3M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
20.3M
        return ranges::next(range.begin(),
2094
20.3M
                            ranges::distance(buf.view().begin(), it));
2095
20.3M
    }
2096
20.3M
    else {
2097
20.3M
        auto it = range.begin();
2098
2099
20.3M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
20.3M
            auto seg = get_contiguous_beginning(range);
2101
20.3M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
20.3M
                seg_it != seg.end()) {
2103
20.3M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
20.3M
            }
2105
20.3M
            ranges::advance(it, seg.size());
2106
20.3M
        }
2107
2108
20.3M
        return read_until_code_point(
2109
20.3M
            ranges::subrange{it, range.end()},
2110
20.3M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
20.3M
    }
2112
20.3M
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
30
{
2088
30
    if constexpr (ranges::contiguous_range<Range> &&
2089
30
                  ranges::sized_range<Range> &&
2090
30
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
30
        auto buf = make_contiguous_buffer(range);
2092
30
        auto it = find_classic_space_narrow_fast(buf.view());
2093
30
        return ranges::next(range.begin(),
2094
30
                            ranges::distance(buf.view().begin(), it));
2095
30
    }
2096
30
    else {
2097
30
        auto it = range.begin();
2098
2099
30
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
30
            auto seg = get_contiguous_beginning(range);
2101
30
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
30
                seg_it != seg.end()) {
2103
30
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
30
            }
2105
30
            ranges::advance(it, seg.size());
2106
30
        }
2107
2108
30
        return read_until_code_point(
2109
30
            ranges::subrange{it, range.end()},
2110
30
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
30
    }
2112
30
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
40.7M
{
2088
40.7M
    if constexpr (ranges::contiguous_range<Range> &&
2089
40.7M
                  ranges::sized_range<Range> &&
2090
40.7M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
40.7M
        auto buf = make_contiguous_buffer(range);
2092
40.7M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
40.7M
        return ranges::next(range.begin(),
2094
40.7M
                            ranges::distance(buf.view().begin(), it));
2095
40.7M
    }
2096
40.7M
    else {
2097
40.7M
        auto it = range.begin();
2098
2099
40.7M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
40.7M
            auto seg = get_contiguous_beginning(range);
2101
40.7M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
40.7M
                seg_it != seg.end()) {
2103
40.7M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
40.7M
            }
2105
40.7M
            ranges::advance(it, seg.size());
2106
40.7M
        }
2107
2108
40.7M
        return read_until_code_point(
2109
40.7M
            ranges::subrange{it, range.end()},
2110
40.7M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
40.7M
    }
2112
40.7M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
2.11M
{
2088
2.11M
    if constexpr (ranges::contiguous_range<Range> &&
2089
2.11M
                  ranges::sized_range<Range> &&
2090
2.11M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
2.11M
        auto buf = make_contiguous_buffer(range);
2092
2.11M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
2.11M
        return ranges::next(range.begin(),
2094
2.11M
                            ranges::distance(buf.view().begin(), it));
2095
2.11M
    }
2096
2.11M
    else {
2097
2.11M
        auto it = range.begin();
2098
2099
2.11M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
2.11M
            auto seg = get_contiguous_beginning(range);
2101
2.11M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
2.11M
                seg_it != seg.end()) {
2103
2.11M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
2.11M
            }
2105
2.11M
            ranges::advance(it, seg.size());
2106
2.11M
        }
2107
2108
2.11M
        return read_until_code_point(
2109
2.11M
            ranges::subrange{it, range.end()},
2110
2.11M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
2.11M
    }
2112
2.11M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
45.0k
{
2088
45.0k
    if constexpr (ranges::contiguous_range<Range> &&
2089
45.0k
                  ranges::sized_range<Range> &&
2090
45.0k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
45.0k
        auto buf = make_contiguous_buffer(range);
2092
45.0k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
45.0k
        return ranges::next(range.begin(),
2094
45.0k
                            ranges::distance(buf.view().begin(), it));
2095
45.0k
    }
2096
45.0k
    else {
2097
45.0k
        auto it = range.begin();
2098
2099
45.0k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
45.0k
            auto seg = get_contiguous_beginning(range);
2101
45.0k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
45.0k
                seg_it != seg.end()) {
2103
45.0k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
45.0k
            }
2105
45.0k
            ranges::advance(it, seg.size());
2106
45.0k
        }
2107
2108
45.0k
        return read_until_code_point(
2109
45.0k
            ranges::subrange{it, range.end()},
2110
45.0k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
45.0k
    }
2112
45.0k
}
2113
2114
template <typename Range>
2115
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2116
72.1M
{
2117
72.1M
    if constexpr (ranges::contiguous_range<Range> &&
2118
72.1M
                  ranges::sized_range<Range> &&
2119
72.1M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
67.2M
        auto buf = make_contiguous_buffer(range);
2121
67.2M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
67.2M
        return ranges::next(range.begin(),
2123
67.2M
                            ranges::distance(buf.view().begin(), it));
2124
67.2M
    }
2125
67.2M
    else {
2126
67.2M
        auto it = range.begin();
2127
2128
67.2M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
4.71M
            auto seg = get_contiguous_beginning(range);
2130
4.71M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
4.71M
                seg_it != seg.end()) {
2132
368k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
368k
            }
2134
4.34M
            ranges::advance(it, seg.size());
2135
4.34M
        }
2136
2137
4.34M
        return read_while_code_point(
2138
188M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
6.14k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
8.91M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
90
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2138
119M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
60.1M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
67.2M
    }
2140
72.1M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
2.21k
{
2117
2.21k
    if constexpr (ranges::contiguous_range<Range> &&
2118
2.21k
                  ranges::sized_range<Range> &&
2119
2.21k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
2.21k
        auto buf = make_contiguous_buffer(range);
2121
2.21k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
2.21k
        return ranges::next(range.begin(),
2123
2.21k
                            ranges::distance(buf.view().begin(), it));
2124
2.21k
    }
2125
2.21k
    else {
2126
2.21k
        auto it = range.begin();
2127
2128
2.21k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
2.21k
            auto seg = get_contiguous_beginning(range);
2130
2.21k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
2.21k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
2.21k
            ranges::advance(it, seg.size());
2135
2.21k
        }
2136
2137
2.21k
        return read_while_code_point(
2138
2.21k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
2.21k
    }
2140
2.21k
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
4.92M
{
2117
4.92M
    if constexpr (ranges::contiguous_range<Range> &&
2118
4.92M
                  ranges::sized_range<Range> &&
2119
4.92M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
4.92M
        auto buf = make_contiguous_buffer(range);
2121
4.92M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
4.92M
        return ranges::next(range.begin(),
2123
4.92M
                            ranges::distance(buf.view().begin(), it));
2124
4.92M
    }
2125
4.92M
    else {
2126
4.92M
        auto it = range.begin();
2127
2128
4.92M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
4.92M
            auto seg = get_contiguous_beginning(range);
2130
4.92M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
4.92M
                seg_it != seg.end()) {
2132
4.92M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
4.92M
            }
2134
4.92M
            ranges::advance(it, seg.size());
2135
4.92M
        }
2136
2137
4.92M
        return read_while_code_point(
2138
4.92M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
4.92M
    }
2140
4.92M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
4.71M
{
2117
4.71M
    if constexpr (ranges::contiguous_range<Range> &&
2118
4.71M
                  ranges::sized_range<Range> &&
2119
4.71M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
4.71M
        auto buf = make_contiguous_buffer(range);
2121
4.71M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
4.71M
        return ranges::next(range.begin(),
2123
4.71M
                            ranges::distance(buf.view().begin(), it));
2124
4.71M
    }
2125
4.71M
    else {
2126
4.71M
        auto it = range.begin();
2127
2128
4.71M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
4.71M
            auto seg = get_contiguous_beginning(range);
2130
4.71M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
4.71M
                seg_it != seg.end()) {
2132
368k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
368k
            }
2134
4.34M
            ranges::advance(it, seg.size());
2135
4.34M
        }
2136
2137
4.34M
        return read_while_code_point(
2138
4.34M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
4.71M
    }
2140
4.71M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
90
{
2117
90
    if constexpr (ranges::contiguous_range<Range> &&
2118
90
                  ranges::sized_range<Range> &&
2119
90
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
90
        auto buf = make_contiguous_buffer(range);
2121
90
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
90
        return ranges::next(range.begin(),
2123
90
                            ranges::distance(buf.view().begin(), it));
2124
90
    }
2125
90
    else {
2126
90
        auto it = range.begin();
2127
2128
90
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
90
            auto seg = get_contiguous_beginning(range);
2130
90
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
90
                seg_it != seg.end()) {
2132
90
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
90
            }
2134
90
            ranges::advance(it, seg.size());
2135
90
        }
2136
2137
90
        return read_while_code_point(
2138
90
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
90
    }
2140
90
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
41.5M
{
2117
41.5M
    if constexpr (ranges::contiguous_range<Range> &&
2118
41.5M
                  ranges::sized_range<Range> &&
2119
41.5M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
41.5M
        auto buf = make_contiguous_buffer(range);
2121
41.5M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
41.5M
        return ranges::next(range.begin(),
2123
41.5M
                            ranges::distance(buf.view().begin(), it));
2124
41.5M
    }
2125
41.5M
    else {
2126
41.5M
        auto it = range.begin();
2127
2128
41.5M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
41.5M
            auto seg = get_contiguous_beginning(range);
2130
41.5M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
41.5M
                seg_it != seg.end()) {
2132
41.5M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
41.5M
            }
2134
41.5M
            ranges::advance(it, seg.size());
2135
41.5M
        }
2136
2137
41.5M
        return read_while_code_point(
2138
41.5M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
41.5M
    }
2140
41.5M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
21.0M
{
2117
21.0M
    if constexpr (ranges::contiguous_range<Range> &&
2118
21.0M
                  ranges::sized_range<Range> &&
2119
21.0M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
21.0M
        auto buf = make_contiguous_buffer(range);
2121
21.0M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
21.0M
        return ranges::next(range.begin(),
2123
21.0M
                            ranges::distance(buf.view().begin(), it));
2124
21.0M
    }
2125
21.0M
    else {
2126
21.0M
        auto it = range.begin();
2127
2128
21.0M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
21.0M
            auto seg = get_contiguous_beginning(range);
2130
21.0M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
21.0M
                seg_it != seg.end()) {
2132
21.0M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
21.0M
            }
2134
21.0M
            ranges::advance(it, seg.size());
2135
21.0M
        }
2136
2137
21.0M
        return read_while_code_point(
2138
21.0M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
21.0M
    }
2140
21.0M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
2141
2142
template <typename Range>
2143
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2144
    -> parse_expected<ranges::const_iterator_t<Range>>
2145
4.35M
{
2146
4.35M
    auto it = read_code_unit(range);
2147
4.35M
    if (SCN_UNLIKELY(!it)) {
2148
17.6k
        return unexpected(make_eof_parse_error(it.error()));
2149
17.6k
    }
2150
2151
4.33M
    if (SCN_UNLIKELY(*range.begin() !=
2152
4.33M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
3.32M
        return unexpected(parse_error::error);
2154
3.32M
    }
2155
2156
1.00M
    return *it;
2157
4.33M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
2.83M
{
2146
2.83M
    auto it = read_code_unit(range);
2147
2.83M
    if (SCN_UNLIKELY(!it)) {
2148
12.5k
        return unexpected(make_eof_parse_error(it.error()));
2149
12.5k
    }
2150
2151
2.82M
    if (SCN_UNLIKELY(*range.begin() !=
2152
2.82M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
2.19M
        return unexpected(parse_error::error);
2154
2.19M
    }
2155
2156
621k
    return *it;
2157
2.82M
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
36
{
2146
36
    auto it = read_code_unit(range);
2147
36
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
36
    if (SCN_UNLIKELY(*range.begin() !=
2152
36
                     static_cast<detail::char_t<Range>>(ch))) {
2153
36
        return unexpected(parse_error::error);
2154
36
    }
2155
2156
0
    return *it;
2157
36
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
1.25M
{
2146
1.25M
    auto it = read_code_unit(range);
2147
1.25M
    if (SCN_UNLIKELY(!it)) {
2148
4.26k
        return unexpected(make_eof_parse_error(it.error()));
2149
4.26k
    }
2150
2151
1.25M
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.25M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
869k
        return unexpected(parse_error::error);
2154
869k
    }
2155
2156
381k
    return *it;
2157
1.25M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
145k
{
2146
145k
    auto it = read_code_unit(range);
2147
145k
    if (SCN_UNLIKELY(!it)) {
2148
498
        return unexpected(make_eof_parse_error(it.error()));
2149
498
    }
2150
2151
144k
    if (SCN_UNLIKELY(*range.begin() !=
2152
144k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
144k
        return unexpected(parse_error::error);
2154
144k
    }
2155
2156
362
    return *it;
2157
144k
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
115k
{
2146
115k
    auto it = read_code_unit(range);
2147
115k
    if (SCN_UNLIKELY(!it)) {
2148
258
        return unexpected(make_eof_parse_error(it.error()));
2149
258
    }
2150
2151
115k
    if (SCN_UNLIKELY(*range.begin() !=
2152
115k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
114k
        return unexpected(parse_error::error);
2154
114k
    }
2155
2156
356
    return *it;
2157
115k
}
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
552
{
2146
552
    auto it = read_code_unit(range);
2147
552
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
552
    if (SCN_UNLIKELY(*range.begin() !=
2152
552
                     static_cast<detail::char_t<Range>>(ch))) {
2153
552
        return unexpected(parse_error::error);
2154
552
    }
2155
2156
0
    return *it;
2157
552
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
20
{
2146
20
    auto it = read_code_unit(range);
2147
20
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
20
    if (SCN_UNLIKELY(*range.begin() !=
2152
20
                     static_cast<detail::char_t<Range>>(ch))) {
2153
20
        return unexpected(parse_error::error);
2154
20
    }
2155
2156
0
    return *it;
2157
20
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2158
2159
template <typename Range>
2160
auto read_matching_code_point(Range range, char32_t cp)
2161
    -> parse_expected<ranges::const_iterator_t<Range>>
2162
{
2163
    auto val = read_code_point_into(range);
2164
    if (!val.is_valid()) {
2165
        return unexpected(parse_error::error);
2166
    }
2167
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2168
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2169
        return unexpected(parse_error::error);
2170
    }
2171
    return val.iterator;
2172
}
2173
2174
template <typename Range>
2175
auto read_matching_string(Range range,
2176
                          std::basic_string_view<detail::char_t<Range>> str)
2177
    -> parse_expected<ranges::const_iterator_t<Range>>
2178
64
{
2179
64
    SCN_TRY(it, read_exactly_n_code_units(
2180
40
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
40
                    .transform_error(make_eof_parse_error));
2182
2183
40
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
40
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
40
        return unexpected(parse_error::error);
2186
40
    }
2187
0
    return it;
2188
40
}
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
28
{
2179
28
    SCN_TRY(it, read_exactly_n_code_units(
2180
8
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
8
                    .transform_error(make_eof_parse_error));
2182
2183
8
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
8
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
8
        return unexpected(parse_error::error);
2186
8
    }
2187
0
    return it;
2188
8
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
18
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
18
                    .transform_error(make_eof_parse_error));
2182
2183
18
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
18
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
18
        return unexpected(parse_error::error);
2186
18
    }
2187
0
    return it;
2188
18
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
16
{
2179
16
    SCN_TRY(it, read_exactly_n_code_units(
2180
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
14
                    .transform_error(make_eof_parse_error));
2182
2183
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
14
        return unexpected(parse_error::error);
2186
14
    }
2187
0
    return it;
2188
14
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2189
2190
template <typename Range>
2191
auto read_matching_string_classic(Range range, std::string_view str)
2192
    -> parse_expected<ranges::const_iterator_t<Range>>
2193
4.72k
{
2194
4.72k
    SCN_TRY(it, read_exactly_n_code_units(
2195
4.40k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
4.40k
                    .transform_error(make_eof_parse_error));
2197
2198
4.40k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.89k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
2.50k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
2.50k
            return unexpected(parse_error::error);
2202
2.50k
        }
2203
0
        return it;
2204
2.50k
    }
2205
1.89k
    else {
2206
1.89k
        auto range_it = range.begin();
2207
1.89k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.89k
            if (SCN_UNLIKELY(*range_it !=
2209
1.89k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.89k
                return unexpected(parse_error::error);
2211
1.89k
            }
2212
1.89k
        }
2213
0
        return it;
2214
1.89k
    }
2215
4.40k
}
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.98k
{
2194
1.98k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.88k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.88k
                    .transform_error(make_eof_parse_error));
2197
2198
1.88k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.88k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.88k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.88k
            return unexpected(parse_error::error);
2202
1.88k
        }
2203
0
        return it;
2204
1.88k
    }
2205
1.88k
    else {
2206
1.88k
        auto range_it = range.begin();
2207
1.88k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.88k
            if (SCN_UNLIKELY(*range_it !=
2209
1.88k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.88k
                return unexpected(parse_error::error);
2211
1.88k
            }
2212
1.88k
        }
2213
1.88k
        return it;
2214
1.88k
    }
2215
1.88k
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
696
{
2194
696
    SCN_TRY(it, read_exactly_n_code_units(
2195
626
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
626
                    .transform_error(make_eof_parse_error));
2197
2198
626
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
626
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
626
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
626
            return unexpected(parse_error::error);
2202
626
        }
2203
0
        return it;
2204
626
    }
2205
626
    else {
2206
626
        auto range_it = range.begin();
2207
626
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
626
            if (SCN_UNLIKELY(*range_it !=
2209
626
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
626
                return unexpected(parse_error::error);
2211
626
            }
2212
626
        }
2213
626
        return it;
2214
626
    }
2215
626
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
2.02k
{
2194
2.02k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.89k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.89k
                    .transform_error(make_eof_parse_error));
2197
2198
1.89k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.89k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.89k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.89k
            return unexpected(parse_error::error);
2202
1.89k
        }
2203
1.89k
        return it;
2204
1.89k
    }
2205
1.89k
    else {
2206
1.89k
        auto range_it = range.begin();
2207
1.89k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.89k
            if (SCN_UNLIKELY(*range_it !=
2209
1.89k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.89k
                return unexpected(parse_error::error);
2211
1.89k
            }
2212
1.89k
        }
2213
0
        return it;
2214
1.89k
    }
2215
1.89k
}
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
20
{
2194
20
    SCN_TRY(it, read_exactly_n_code_units(
2195
0
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
0
                    .transform_error(make_eof_parse_error));
2197
2198
0
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
0
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
0
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
0
            return unexpected(parse_error::error);
2202
0
        }
2203
0
        return it;
2204
0
    }
2205
0
    else {
2206
0
        auto range_it = range.begin();
2207
0
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
0
            if (SCN_UNLIKELY(*range_it !=
2209
0
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
0
                return unexpected(parse_error::error);
2211
0
            }
2212
0
        }
2213
0
        return it;
2214
0
    }
2215
0
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2216
2217
// Ripped from fast_float
2218
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2219
8.20M
{
2220
8.20M
    unsigned char running_diff{0};
2221
29.3M
    for (size_t i = 0; i < len; ++i) {
2222
21.1M
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2223
21.1M
    }
2224
8.20M
    return running_diff == 0 || running_diff == 32;
2225
8.20M
}
2226
2227
template <typename Range>
2228
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2229
    -> parse_expected<ranges::const_iterator_t<Range>>
2230
18.5M
{
2231
18.5M
    using char_type = detail::char_t<Range>;
2232
2233
18.5M
    if constexpr (ranges::contiguous_range<Range> &&
2234
18.5M
                  std::is_same_v<char_type, char>) {
2235
10.2M
        if (range.size() < str.size()) {
2236
76.4k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
76.4k
        }
2238
8.20M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
7.95M
            return unexpected(parse_error::error);
2240
7.95M
        }
2241
256k
        return ranges::next(range.begin(), str.size());
2242
8.20M
    }
2243
10.2M
    else {
2244
12.1M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
12.1M
            if (ch < 'A' || ch > 'Z') {
2246
11.9M
                return ch;
2247
11.9M
            }
2248
136k
            return static_cast<char_type>(ch +
2249
136k
                                          static_cast<char_type>('a' - 'A'));
2250
12.1M
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
10.2M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
10.2M
            if (ch < 'A' || ch > 'Z') {
2246
10.0M
                return ch;
2247
10.0M
            }
2248
125k
            return static_cast<char_type>(ch +
2249
125k
                                          static_cast<char_type>('a' - 'A'));
2250
10.2M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
1.02k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.02k
            if (ch < 'A' || ch > 'Z') {
2246
1.02k
                return ch;
2247
1.02k
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
1.02k
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
956k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
956k
            if (ch < 'A' || ch > 'Z') {
2246
951k
                return ch;
2247
951k
            }
2248
5.52k
            return static_cast<char_type>(ch +
2249
5.52k
                                          static_cast<char_type>('a' - 'A'));
2250
956k
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
36
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
36
            if (ch < 'A' || ch > 'Z') {
2246
36
                return ch;
2247
36
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
36
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
961k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
961k
            if (ch < 'A' || ch > 'Z') {
2246
955k
                return ch;
2247
955k
            }
2248
5.52k
            return static_cast<char_type>(ch +
2249
5.52k
                                          static_cast<char_type>('a' - 'A'));
2250
961k
        };
2251
2252
10.2M
        SCN_TRY(it, read_exactly_n_code_units(
2253
10.0M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
10.0M
                        .transform_error(make_eof_parse_error));
2255
2256
10.0M
        if (SCN_UNLIKELY(!std::equal(
2257
10.0M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
10.0M
                    return ascii_tolower(a) ==
2259
10.0M
                           static_cast<detail::char_t<Range>>(b);
2260
10.0M
                }))) {
2261
9.78M
            return unexpected(parse_error::error);
2262
9.78M
        }
2263
2264
254k
        return it;
2265
10.0M
    }
2266
18.5M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
8.25M
{
2231
8.25M
    using char_type = detail::char_t<Range>;
2232
2233
8.25M
    if constexpr (ranges::contiguous_range<Range> &&
2234
8.25M
                  std::is_same_v<char_type, char>) {
2235
8.25M
        if (range.size() < str.size()) {
2236
8.25M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
8.25M
        }
2238
8.25M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
8.25M
            return unexpected(parse_error::error);
2240
8.25M
        }
2241
8.25M
        return ranges::next(range.begin(), str.size());
2242
8.25M
    }
2243
8.25M
    else {
2244
8.25M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
8.25M
            if (ch < 'A' || ch > 'Z') {
2246
8.25M
                return ch;
2247
8.25M
            }
2248
8.25M
            return static_cast<char_type>(ch +
2249
8.25M
                                          static_cast<char_type>('a' - 'A'));
2250
8.25M
        };
2251
2252
8.25M
        SCN_TRY(it, read_exactly_n_code_units(
2253
8.18M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
8.18M
                        .transform_error(make_eof_parse_error));
2255
2256
8.18M
        if (SCN_UNLIKELY(!std::equal(
2257
8.18M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
8.18M
                    return ascii_tolower(a) ==
2259
8.18M
                           static_cast<detail::char_t<Range>>(b);
2260
8.18M
                }))) {
2261
7.92M
            return unexpected(parse_error::error);
2262
7.92M
        }
2263
2264
254k
        return it;
2265
8.18M
    }
2266
8.25M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
1.14k
{
2231
1.14k
    using char_type = detail::char_t<Range>;
2232
2233
1.14k
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.14k
                  std::is_same_v<char_type, char>) {
2235
1.14k
        if (range.size() < str.size()) {
2236
1.14k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.14k
        }
2238
1.14k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.14k
            return unexpected(parse_error::error);
2240
1.14k
        }
2241
1.14k
        return ranges::next(range.begin(), str.size());
2242
1.14k
    }
2243
1.14k
    else {
2244
1.14k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.14k
            if (ch < 'A' || ch > 'Z') {
2246
1.14k
                return ch;
2247
1.14k
            }
2248
1.14k
            return static_cast<char_type>(ch +
2249
1.14k
                                          static_cast<char_type>('a' - 'A'));
2250
1.14k
        };
2251
2252
1.14k
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.02k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.02k
                        .transform_error(make_eof_parse_error));
2255
2256
1.02k
        if (SCN_UNLIKELY(!std::equal(
2257
1.02k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.02k
                    return ascii_tolower(a) ==
2259
1.02k
                           static_cast<detail::char_t<Range>>(b);
2260
1.02k
                }))) {
2261
1.02k
            return unexpected(parse_error::error);
2262
1.02k
        }
2263
2264
0
        return it;
2265
1.02k
    }
2266
1.14k
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
8.28M
{
2231
8.28M
    using char_type = detail::char_t<Range>;
2232
2233
8.28M
    if constexpr (ranges::contiguous_range<Range> &&
2234
8.28M
                  std::is_same_v<char_type, char>) {
2235
8.28M
        if (range.size() < str.size()) {
2236
76.4k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
76.4k
        }
2238
8.20M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
7.95M
            return unexpected(parse_error::error);
2240
7.95M
        }
2241
256k
        return ranges::next(range.begin(), str.size());
2242
8.20M
    }
2243
8.28M
    else {
2244
8.28M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
8.28M
            if (ch < 'A' || ch > 'Z') {
2246
8.28M
                return ch;
2247
8.28M
            }
2248
8.28M
            return static_cast<char_type>(ch +
2249
8.28M
                                          static_cast<char_type>('a' - 'A'));
2250
8.28M
        };
2251
2252
8.28M
        SCN_TRY(it, read_exactly_n_code_units(
2253
8.28M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
8.28M
                        .transform_error(make_eof_parse_error));
2255
2256
8.28M
        if (SCN_UNLIKELY(!std::equal(
2257
8.28M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
8.28M
                    return ascii_tolower(a) ==
2259
8.28M
                           static_cast<detail::char_t<Range>>(b);
2260
8.28M
                }))) {
2261
8.28M
            return unexpected(parse_error::error);
2262
8.28M
        }
2263
2264
8.28M
        return it;
2265
8.28M
    }
2266
8.28M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
1.00M
{
2231
1.00M
    using char_type = detail::char_t<Range>;
2232
2233
1.00M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.00M
                  std::is_same_v<char_type, char>) {
2235
1.00M
        if (range.size() < str.size()) {
2236
1.00M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.00M
        }
2238
1.00M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.00M
            return unexpected(parse_error::error);
2240
1.00M
        }
2241
1.00M
        return ranges::next(range.begin(), str.size());
2242
1.00M
    }
2243
1.00M
    else {
2244
1.00M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.00M
            if (ch < 'A' || ch > 'Z') {
2246
1.00M
                return ch;
2247
1.00M
            }
2248
1.00M
            return static_cast<char_type>(ch +
2249
1.00M
                                          static_cast<char_type>('a' - 'A'));
2250
1.00M
        };
2251
2252
1.00M
        SCN_TRY(it, read_exactly_n_code_units(
2253
927k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
927k
                        .transform_error(make_eof_parse_error));
2255
2256
927k
        if (SCN_UNLIKELY(!std::equal(
2257
927k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
927k
                    return ascii_tolower(a) ==
2259
927k
                           static_cast<detail::char_t<Range>>(b);
2260
927k
                }))) {
2261
927k
            return unexpected(parse_error::error);
2262
927k
        }
2263
2264
210
        return it;
2265
927k
    }
2266
1.00M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
40
{
2231
40
    using char_type = detail::char_t<Range>;
2232
2233
40
    if constexpr (ranges::contiguous_range<Range> &&
2234
40
                  std::is_same_v<char_type, char>) {
2235
40
        if (range.size() < str.size()) {
2236
40
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
40
        }
2238
40
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
40
            return unexpected(parse_error::error);
2240
40
        }
2241
40
        return ranges::next(range.begin(), str.size());
2242
40
    }
2243
40
    else {
2244
40
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
40
            if (ch < 'A' || ch > 'Z') {
2246
40
                return ch;
2247
40
            }
2248
40
            return static_cast<char_type>(ch +
2249
40
                                          static_cast<char_type>('a' - 'A'));
2250
40
        };
2251
2252
40
        SCN_TRY(it, read_exactly_n_code_units(
2253
36
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
36
                        .transform_error(make_eof_parse_error));
2255
2256
36
        if (SCN_UNLIKELY(!std::equal(
2257
36
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
36
                    return ascii_tolower(a) ==
2259
36
                           static_cast<detail::char_t<Range>>(b);
2260
36
                }))) {
2261
36
            return unexpected(parse_error::error);
2262
36
        }
2263
2264
0
        return it;
2265
36
    }
2266
40
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
1.00M
{
2231
1.00M
    using char_type = detail::char_t<Range>;
2232
2233
1.00M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.00M
                  std::is_same_v<char_type, char>) {
2235
1.00M
        if (range.size() < str.size()) {
2236
1.00M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.00M
        }
2238
1.00M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.00M
            return unexpected(parse_error::error);
2240
1.00M
        }
2241
1.00M
        return ranges::next(range.begin(), str.size());
2242
1.00M
    }
2243
1.00M
    else {
2244
1.00M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.00M
            if (ch < 'A' || ch > 'Z') {
2246
1.00M
                return ch;
2247
1.00M
            }
2248
1.00M
            return static_cast<char_type>(ch +
2249
1.00M
                                          static_cast<char_type>('a' - 'A'));
2250
1.00M
        };
2251
2252
1.00M
        SCN_TRY(it, read_exactly_n_code_units(
2253
932k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
932k
                        .transform_error(make_eof_parse_error));
2255
2256
932k
        if (SCN_UNLIKELY(!std::equal(
2257
932k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
932k
                    return ascii_tolower(a) ==
2259
932k
                           static_cast<detail::char_t<Range>>(b);
2260
932k
                }))) {
2261
932k
            return unexpected(parse_error::error);
2262
932k
        }
2263
2264
210
        return it;
2265
932k
    }
2266
1.00M
}
2267
2268
template <typename Range>
2269
auto read_one_of_code_unit(Range range, std::string_view str)
2270
    -> parse_expected<ranges::const_iterator_t<Range>>
2271
13.0M
{
2272
13.0M
    auto it = read_code_unit(range);
2273
13.0M
    if (SCN_UNLIKELY(!it)) {
2274
20.4k
        return unexpected(make_eof_parse_error(it.error()));
2275
20.4k
    }
2276
2277
24.8M
    for (auto ch : str) {
2278
24.8M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
2.14M
            return *it;
2280
2.14M
        }
2281
24.8M
    }
2282
2283
10.8M
    return unexpected(parse_error::error);
2284
13.0M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
6.71M
{
2272
6.71M
    auto it = read_code_unit(range);
2273
6.71M
    if (SCN_UNLIKELY(!it)) {
2274
16.8k
        return unexpected(make_eof_parse_error(it.error()));
2275
16.8k
    }
2276
2277
12.7M
    for (auto ch : str) {
2278
12.7M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
1.17M
            return *it;
2280
1.17M
        }
2281
12.7M
    }
2282
2283
5.53M
    return unexpected(parse_error::error);
2284
6.70M
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
1.09k
{
2272
1.09k
    auto it = read_code_unit(range);
2273
1.09k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
2.18k
    for (auto ch : str) {
2278
2.18k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
2.18k
    }
2282
2283
1.09k
    return unexpected(parse_error::error);
2284
1.09k
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
4.98M
{
2272
4.98M
    auto it = read_code_unit(range);
2273
4.98M
    if (SCN_UNLIKELY(!it)) {
2274
3.20k
        return unexpected(make_eof_parse_error(it.error()));
2275
3.20k
    }
2276
2277
9.43M
    for (auto ch : str) {
2278
9.43M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
969k
            return *it;
2280
969k
        }
2281
9.43M
    }
2282
2283
4.01M
    return unexpected(parse_error::error);
2284
4.98M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
679k
{
2272
679k
    auto it = read_code_unit(range);
2273
679k
    if (SCN_UNLIKELY(!it)) {
2274
357
        return unexpected(make_eof_parse_error(it.error()));
2275
357
    }
2276
2277
1.35M
    for (auto ch : str) {
2278
1.35M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
5.07k
            return *it;
2280
5.07k
        }
2281
1.35M
    }
2282
2283
674k
    return unexpected(parse_error::error);
2284
679k
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
40
{
2272
40
    auto it = read_code_unit(range);
2273
40
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
80
    for (auto ch : str) {
2278
80
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
80
    }
2282
2283
40
    return unexpected(parse_error::error);
2284
40
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
650k
{
2272
650k
    auto it = read_code_unit(range);
2273
650k
    if (SCN_UNLIKELY(!it)) {
2274
102
        return unexpected(make_eof_parse_error(it.error()));
2275
102
    }
2276
2277
1.30M
    for (auto ch : str) {
2278
1.30M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
3.52k
            return *it;
2280
3.52k
        }
2281
1.30M
    }
2282
2283
646k
    return unexpected(parse_error::error);
2284
650k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
2285
2286
template <typename Range, template <class> class Expected, typename Iterator>
2287
auto apply_opt(Expected<Iterator>&& result, Range range)
2288
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2289
                        ranges::const_iterator_t<Range>>
2290
1.40M
{
2291
1.40M
    if (!result) {
2292
1.27M
        return range.begin();
2293
1.27M
    }
2294
129k
    return *result;
2295
1.40M
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
564k
{
2291
564k
    if (!result) {
2292
499k
        return range.begin();
2293
499k
    }
2294
64.7k
    return *result;
2295
564k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
274
{
2291
274
    if (!result) {
2292
274
        return range.begin();
2293
274
    }
2294
0
    return *result;
2295
274
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
562k
{
2291
562k
    if (!result) {
2292
498k
        return range.begin();
2293
498k
    }
2294
64.2k
    return *result;
2295
562k
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
140k
{
2291
140k
    if (!result) {
2292
140k
        return range.begin();
2293
140k
    }
2294
168
    return *result;
2295
140k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
10
{
2291
10
    if (!result) {
2292
10
        return range.begin();
2293
10
    }
2294
0
    return *result;
2295
10
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
141k
{
2291
141k
    if (!result) {
2292
141k
        return range.begin();
2293
141k
    }
2294
168
    return *result;
2295
141k
}
2296
2297
/////////////////////////////////////////////////////////////////
2298
// Text width calculation
2299
/////////////////////////////////////////////////////////////////
2300
2301
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2302
168k
{
2303
168k
    if (cp >= 0x1100 &&
2304
168k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2305
6.67k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2306
6.67k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2307
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2308
6.67k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2309
6.67k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2310
6.67k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2311
6.67k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2312
6.67k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2313
6.67k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2314
6.67k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2315
6.67k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2316
6.67k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2317
         // Miscellaneous Symbols and Pictographs + Emoticons:
2318
6.67k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2319
         // Supplemental Symbols and Pictographs:
2320
6.67k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2321
2.54k
        return 2;
2322
2.54k
    }
2323
165k
    return 1;
2324
168k
}
2325
2326
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2327
123k
{
2328
123k
    return calculate_text_width_for_fmt_v10(cp);
2329
123k
}
2330
2331
template <typename CharT>
2332
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2333
{
2334
    size_t count{0};
2335
    for_each_code_point_valid(input, [&count](char32_t cp) {
2336
        count += calculate_text_width_for_fmt_v10(cp);
2337
    });
2338
    return count;
2339
}
2340
2341
constexpr std::size_t calculate_text_width(char32_t cp)
2342
214
{
2343
214
    return calculate_text_width_for_fmt_v10(cp);
2344
214
}
2345
2346
template <typename CharT>
2347
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2348
33.7k
{
2349
33.7k
    size_t count{0};
2350
45.1k
    for_each_code_point(input, [&count](char32_t cp) {
2351
45.1k
        count += calculate_text_width_for_fmt_v10(cp);
2352
45.1k
    });
scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
38.1k
    for_each_code_point(input, [&count](char32_t cp) {
2351
38.1k
        count += calculate_text_width_for_fmt_v10(cp);
2352
38.1k
    });
scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
6.97k
    for_each_code_point(input, [&count](char32_t cp) {
2351
6.97k
        count += calculate_text_width_for_fmt_v10(cp);
2352
6.97k
    });
2353
33.7k
    return count;
2354
33.7k
}
unsigned long scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2348
29.8k
{
2349
29.8k
    size_t count{0};
2350
29.8k
    for_each_code_point(input, [&count](char32_t cp) {
2351
29.8k
        count += calculate_text_width_for_fmt_v10(cp);
2352
29.8k
    });
2353
29.8k
    return count;
2354
29.8k
}
unsigned long scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2348
3.91k
{
2349
3.91k
    size_t count{0};
2350
3.91k
    for_each_code_point(input, [&count](char32_t cp) {
2351
3.91k
        count += calculate_text_width_for_fmt_v10(cp);
2352
3.91k
    });
2353
3.91k
    return count;
2354
3.91k
}
2355
2356
namespace counted_width_iterator_impl {
2357
template <typename It, typename S>
2358
class counted_width_iterator {
2359
    static_assert(ranges::forward_iterator<It>);
2360
    static_assert(ranges::sentinel_for<S, It>);
2361
2362
    template <typename OtherIt, typename OtherS>
2363
    friend class counted_width_iterator;
2364
2365
public:
2366
    using iterator = It;
2367
    using sentinel = S;
2368
    using value_type = ranges::iter_value_t<It>;
2369
    using pointer = value_type*;
2370
    using reference = value_type&;
2371
    using difference_type = ranges::iter_difference_t<It>;
2372
    using iterator_category =
2373
        std::conditional_t<ranges::bidirectional_iterator<It>,
2374
                           std::bidirectional_iterator_tag,
2375
                           std::forward_iterator_tag>;
2376
2377
    constexpr counted_width_iterator() = default;
2378
2379
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2380
        : m_current(x), m_end(s), m_count(n)
2381
19.9k
    {
2382
19.9k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2381
19.3k
    {
2382
19.3k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2381
550
    {
2382
550
    }
2383
2384
    template <typename OtherIt,
2385
              typename OtherS,
2386
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2387
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2388
    constexpr counted_width_iterator(
2389
        const counted_width_iterator<OtherIt, OtherS>& other)
2390
        : m_current(other.m_current),
2391
          m_end(other.m_end),
2392
          m_count(other.m_count),
2393
          m_multibyte_left(other.m_multibyte_left)
2394
    {
2395
    }
2396
2397
    template <typename OtherIt, typename OtherS>
2398
    constexpr auto operator=(
2399
        const counted_width_iterator<OtherIt, OtherS>& other)
2400
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2401
                                std::is_convertible_v<OtherS, S>,
2402
                            counted_width_iterator&>
2403
    {
2404
        m_current = other.m_current;
2405
        m_end = other.m_end;
2406
        m_count = other.m_count;
2407
        m_multibyte_left = other.m_multibyte_left;
2408
        return *this;
2409
    }
2410
2411
    constexpr It base() const
2412
265k
    {
2413
265k
        return m_current;
2414
265k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2412
264k
    {
2413
264k
        return m_current;
2414
264k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2412
870
    {
2413
870
        return m_current;
2414
870
    }
2415
    constexpr difference_type count() const
2416
265k
    {
2417
265k
        return m_count;
2418
265k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2416
264k
    {
2417
264k
        return m_count;
2418
264k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2416
904
    {
2417
904
        return m_count;
2418
904
    }
2419
    constexpr difference_type multibyte_left() const
2420
1.54k
    {
2421
1.54k
        return m_multibyte_left;
2422
1.54k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2420
1.49k
    {
2421
1.49k
        return m_multibyte_left;
2422
1.49k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2420
54
    {
2421
54
        return m_multibyte_left;
2422
54
    }
2423
2424
    constexpr decltype(auto) operator*()
2425
324k
    {
2426
324k
        return *m_current;
2427
324k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2425
323k
    {
2426
323k
        return *m_current;
2427
323k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2425
620
    {
2426
620
        return *m_current;
2427
620
    }
2428
    constexpr decltype(auto) operator*() const
2429
    {
2430
        return *m_current;
2431
    }
2432
2433
    constexpr counted_width_iterator& operator++()
2434
267k
    {
2435
267k
        SCN_EXPECT(m_current != m_end);
2436
267k
        _increment_current();
2437
267k
        return *this;
2438
267k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2434
267k
    {
2435
267k
        SCN_EXPECT(m_current != m_end);
2436
267k
        _increment_current();
2437
267k
        return *this;
2438
267k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2434
452
    {
2435
452
        SCN_EXPECT(m_current != m_end);
2436
452
        _increment_current();
2437
452
        return *this;
2438
452
    }
2439
2440
    constexpr counted_width_iterator operator++(int)
2441
    {
2442
        auto tmp = *this;
2443
        ++*this;
2444
        return tmp;
2445
    }
2446
2447
    template <typename Iter = It>
2448
    constexpr auto operator--()
2449
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2450
                            counted_width_iterator&>
2451
0
    {
2452
0
        _decrement_current();
2453
0
        return *this;
2454
0
    }
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
2455
2456
    template <typename Iter = It>
2457
    constexpr auto operator--(int)
2458
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2459
                            counted_width_iterator>
2460
    {
2461
        auto tmp = *this;
2462
        --*this;
2463
        return tmp;
2464
    }
2465
2466
    // TODO: optimize, make better than forward, if possible
2467
#if 0
2468
                template <typename Iter = It>
2469
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2470
                    ranges_std::random_access_iterator<Iter>,
2471
                    counted_width_iterator>
2472
                {
2473
                    // TODO
2474
                    return counted_width_iterator(m_current + n, m_count - n);
2475
                }
2476
2477
                template <typename Iter = It,
2478
                          std::enable_if_t<ranges_std::random_access_iterator<
2479
                              Iter>>* = nullptr>
2480
                friend constexpr counted_width_iterator operator+(
2481
                    ranges_std::iter_difference_t<Iter> n,
2482
                    const counted_width_iterator<Iter>& x)
2483
                {
2484
                    return x + n;
2485
                }
2486
2487
                template <typename Iter = It>
2488
                constexpr auto operator+=(difference_type n)
2489
                    -> std::enable_if_t<
2490
                        ranges_std::random_access_iterator<Iter>,
2491
                        counted_width_iterator&>
2492
                {
2493
                    // TODO
2494
                    m_current += n;
2495
                    m_count -= n;
2496
                    return *this;
2497
                }
2498
2499
                template <typename Iter = It>
2500
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2501
                    ranges_std::random_access_iterator<Iter>,
2502
                    counted_width_iterator>
2503
                {
2504
                    // TODO
2505
                    return counted_width_iterator(m_current - n, m_count + n);
2506
                }
2507
2508
                template <typename Iter = It,
2509
                          std::enable_if_t<ranges_std::random_access_iterator<
2510
                              Iter>>* = nullptr>
2511
                constexpr decltype(auto) operator[](difference_type n) const
2512
                {
2513
                    return m_current[n];
2514
                }
2515
#endif
2516
2517
    template <typename OtherIt, typename OtherS>
2518
    friend constexpr auto operator==(
2519
        const counted_width_iterator& a,
2520
        const counted_width_iterator<OtherIt, OtherS>& b)
2521
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2522
145k
    {
2523
145k
        return a.m_current == b.m_current;
2524
145k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
145k
    {
2523
145k
        return a.m_current == b.m_current;
2524
145k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
152
    {
2523
152
        return a.m_current == b.m_current;
2524
152
    }
2525
    template <typename OtherIt, typename OtherS>
2526
    friend constexpr auto operator!=(
2527
        const counted_width_iterator& a,
2528
        const counted_width_iterator<OtherIt, OtherS>& b)
2529
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2530
144k
    {
2531
144k
        return !(a == b);
2532
144k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
144k
    {
2531
144k
        return !(a == b);
2532
144k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
112
    {
2531
112
        return !(a == b);
2532
112
    }
2533
2534
    friend constexpr bool operator==(const counted_width_iterator& x,
2535
                                     ranges::default_sentinel_t)
2536
    {
2537
        return x.count() == 0 && x.multibyte_left() == 0;
2538
    }
2539
    friend constexpr bool operator==(ranges::default_sentinel_t,
2540
                                     const counted_width_iterator& x)
2541
    {
2542
        return x.count() == 0 && x.multibyte_left() == 0;
2543
    }
2544
2545
    friend constexpr bool operator!=(const counted_width_iterator& a,
2546
                                     ranges::default_sentinel_t b)
2547
    {
2548
        return !(a == b);
2549
    }
2550
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2551
                                     const counted_width_iterator& b)
2552
    {
2553
        return !(a == b);
2554
    }
2555
2556
    template <typename OtherIt, typename OtherS>
2557
    friend constexpr auto operator<(
2558
        const counted_width_iterator& a,
2559
        const counted_width_iterator<OtherIt, OtherS>& b)
2560
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2561
    {
2562
        if (a.count() == b.count()) {
2563
            return a.multibyte_left() > b.multibyte_left();
2564
        }
2565
2566
        return a.count() > b.count();
2567
    }
2568
2569
    template <typename OtherIt, typename OtherS>
2570
    friend constexpr auto operator>(
2571
        const counted_width_iterator& a,
2572
        const counted_width_iterator<OtherIt, OtherS>& b)
2573
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2574
    {
2575
        return !(b < a);
2576
    }
2577
2578
    template <typename OtherIt, typename OtherS>
2579
    friend constexpr auto operator<=(
2580
        const counted_width_iterator& a,
2581
        const counted_width_iterator<OtherIt, OtherS>& b)
2582
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2583
    {
2584
        return !(b < a);
2585
    }
2586
2587
    template <typename OtherIt, typename OtherS>
2588
    friend constexpr auto operator>=(
2589
        const counted_width_iterator& a,
2590
        const counted_width_iterator<OtherIt, OtherS>& b)
2591
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2592
    {
2593
        return !(a < b);
2594
    }
2595
2596
#if 0
2597
                template <typename OtherIt, typename OtherS>
2598
                friend constexpr auto operator-(
2599
                    const counted_width_iterator& a,
2600
                    const counted_width_iterator<OtherIt, OtherS>& b)
2601
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2602
                                        ranges_std::iter_difference_t<OtherIt>>
2603
                {
2604
                    // TODO
2605
                }
2606
2607
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2608
                    const counted_width_iterator& x,
2609
                    ranges_std::default_sentinel_t)
2610
                {
2611
                    // TODO
2612
                }
2613
2614
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2615
                    ranges_std::default_sentinel_t,
2616
                    const counted_width_iterator& x)
2617
                {
2618
                    // TODO
2619
                }
2620
#endif
2621
2622
#if 0
2623
                template <typename Iter = It>
2624
                constexpr auto operator-=(difference_type n)
2625
                    -> std::enable_if_t<
2626
                        ranges_std::random_access_iterator<Iter>,
2627
                        counted_width_iterator&>
2628
                {
2629
                    // TODO
2630
                    m_current -= n;
2631
                    m_count += n;
2632
                    return *this;
2633
                }
2634
#endif
2635
2636
private:
2637
    difference_type _get_cp_length_at_current() const
2638
151k
    {
2639
151k
        return static_cast<difference_type>(
2640
151k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
151k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
151k
    {
2639
151k
        return static_cast<difference_type>(
2640
151k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
151k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
452
    {
2639
452
        return static_cast<difference_type>(
2640
452
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
452
    }
2642
2643
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2644
151k
    {
2645
151k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
990
            return 0;
2647
990
        }
2648
2649
150k
        if (cplen == 1) {
2650
123k
            SCN_EXPECT(m_current != m_end);
2651
123k
            auto cp = static_cast<char32_t>(*m_current);
2652
123k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
123k
        }
2654
2655
27.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
27.8k
                                           cplen);
2657
27.8k
        if (SCN_UNLIKELY(!r)) {
2658
166
            return 0;
2659
166
        }
2660
2661
27.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
27.7k
        return static_cast<difference_type>(
2663
27.7k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
27.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
151k
    {
2645
151k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
990
            return 0;
2647
990
        }
2648
2649
150k
        if (cplen == 1) {
2650
122k
            SCN_EXPECT(m_current != m_end);
2651
122k
            auto cp = static_cast<char32_t>(*m_current);
2652
122k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
122k
        }
2654
2655
27.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
27.8k
                                           cplen);
2657
27.8k
        if (SCN_UNLIKELY(!r)) {
2658
166
            return 0;
2659
166
        }
2660
2661
27.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
27.7k
        return static_cast<difference_type>(
2663
27.7k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
27.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
452
    {
2645
452
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
452
        if (cplen == 1) {
2650
452
            SCN_EXPECT(m_current != m_end);
2651
452
            auto cp = static_cast<char32_t>(*m_current);
2652
452
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
452
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
2665
2666
    void _increment_current()
2667
267k
    {
2668
267k
        if (m_multibyte_left == 0) {
2669
151k
            auto cplen = _get_cp_length_at_current();
2670
151k
            m_multibyte_left = cplen - 1;
2671
151k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
151k
        }
2673
115k
        else {
2674
115k
            --m_multibyte_left;
2675
115k
        }
2676
2677
267k
        ++m_current;
2678
267k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2667
267k
    {
2668
267k
        if (m_multibyte_left == 0) {
2669
151k
            auto cplen = _get_cp_length_at_current();
2670
151k
            m_multibyte_left = cplen - 1;
2671
151k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
151k
        }
2673
115k
        else {
2674
115k
            --m_multibyte_left;
2675
115k
        }
2676
2677
267k
        ++m_current;
2678
267k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2667
452
    {
2668
452
        if (m_multibyte_left == 0) {
2669
452
            auto cplen = _get_cp_length_at_current();
2670
452
            m_multibyte_left = cplen - 1;
2671
452
            m_count -= _get_width_at_current_cp_start(cplen);
2672
452
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
452
        ++m_current;
2678
452
    }
2679
2680
    void _decrement_current()
2681
0
    {
2682
0
        --m_current;
2683
2684
0
        auto cplen = _get_cp_length_at_current();
2685
0
        if (cplen == 0) {
2686
0
            ++m_multibyte_left;
2687
0
        }
2688
0
        else {
2689
0
            m_count += _get_width_at_current_cp_start(cplen);
2690
0
            m_multibyte_left = cplen - 1;
2691
0
        }
2692
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
2693
2694
    It m_current{};
2695
    S m_end{};
2696
    difference_type m_count{0};
2697
    difference_type m_multibyte_left{0};
2698
};
2699
2700
template <typename I, typename S>
2701
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2702
    -> counted_width_iterator<I, S>;
2703
}  // namespace counted_width_iterator_impl
2704
2705
using counted_width_iterator_impl::counted_width_iterator;
2706
2707
template <typename View, typename = void>
2708
struct take_width_view_storage;
2709
2710
template <typename View>
2711
struct take_width_view_storage<View,
2712
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2713
7.84k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2713
7.66k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2713
180
    take_width_view_storage(const View& v) : view(v) {}
2714
2715
    const View& get() const
2716
214k
    {
2717
214k
        return view;
2718
214k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2716
213k
    {
2717
213k
        return view;
2718
213k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2716
1.63k
    {
2717
1.63k
        return view;
2718
1.63k
    }
2719
2720
    View view;
2721
};
2722
2723
template <typename View>
2724
struct take_width_view_storage<
2725
    View,
2726
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2727
    take_width_view_storage(const View& v) : view(&v) {}
2728
2729
    const View& get() const
2730
    {
2731
        return *view;
2732
    }
2733
2734
    const View* view;
2735
};
2736
2737
template <typename View>
2738
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2739
    template <bool IsConst>
2740
    class sentinel {
2741
        friend class sentinel<!IsConst>;
2742
        using Base = std::conditional_t<IsConst, const View, View>;
2743
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2744
                                           ranges::sentinel_t<Base>>;
2745
        using underlying = ranges::sentinel_t<Base>;
2746
2747
    public:
2748
        constexpr sentinel() = default;
2749
2750
174k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2750
174k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2750
536
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2751
2752
        template <
2753
            typename S,
2754
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2755
            bool C = IsConst,
2756
            typename VV = View,
2757
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2758
                                                        underlying>>* = nullptr>
2759
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2760
        {
2761
        }
2762
2763
        constexpr underlying base() const
2764
        {
2765
            return m_end;
2766
        }
2767
2768
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2769
260k
        {
2770
260k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
260k
                   y.base() == x.m_end;
2772
260k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2769
259k
        {
2770
259k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
259k
                   y.base() == x.m_end;
2772
259k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2769
774
        {
2770
774
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
774
                   y.base() == x.m_end;
2772
774
        }
2773
2774
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2775
        {
2776
            return y == x;
2777
        }
2778
2779
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2780
150k
        {
2781
150k
            return !(y == x);
2782
150k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2780
150k
        {
2781
150k
            return !(y == x);
2782
150k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2780
244
        {
2781
244
            return !(y == x);
2782
244
        }
2783
2784
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2785
        {
2786
            return !(y == x);
2787
        }
2788
2789
    private:
2790
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2791
    };
2792
2793
public:
2794
    using value_type = ranges::range_value_t<View>;
2795
2796
    take_width_view() = default;
2797
2798
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2799
        : m_base(base), m_count(count)
2800
7.84k
    {
2801
7.84k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2800
7.66k
    {
2801
7.66k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2800
180
    {
2801
180
    }
2802
2803
    constexpr View base() const
2804
    {
2805
        return m_base;
2806
    }
2807
2808
    constexpr auto begin() const
2809
19.9k
    {
2810
19.9k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.9k
                                      m_count};
2812
19.9k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2809
19.3k
    {
2810
19.3k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.3k
                                      m_count};
2812
19.3k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2809
550
    {
2810
550
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
550
                                      m_count};
2812
550
    }
2813
2814
    constexpr auto end() const
2815
174k
    {
2816
174k
        return sentinel<true>{m_base.get().end()};
2817
174k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2815
174k
    {
2816
174k
        return sentinel<true>{m_base.get().end()};
2817
174k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2815
536
    {
2816
536
        return sentinel<true>{m_base.get().end()};
2817
536
    }
2818
2819
private:
2820
    take_width_view_storage<View> m_base{};
2821
    std::ptrdiff_t m_count{0};
2822
};
2823
2824
template <typename R>
2825
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2826
2827
struct _take_width_fn {
2828
    template <typename R>
2829
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2830
        -> decltype(take_width_view{r, n})
2831
7.84k
    {
2832
7.84k
        return take_width_view{r, n};
2833
7.84k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2831
7.66k
    {
2832
7.66k
        return take_width_view{r, n};
2833
7.66k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2831
180
    {
2832
180
        return take_width_view{r, n};
2833
180
    }
2834
};
2835
2836
inline constexpr _take_width_fn take_width{};
2837
}  // namespace impl
2838
2839
namespace ranges {
2840
template <typename R>
2841
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2842
    enable_borrowed_range<R>;
2843
}
2844
2845
/////////////////////////////////////////////////////////////////
2846
// contiguous_scan_context
2847
/////////////////////////////////////////////////////////////////
2848
2849
namespace impl {
2850
template <typename CharT>
2851
class basic_contiguous_scan_context
2852
    : public detail::scan_context_base<
2853
          basic_scan_args<basic_scan_context<CharT>>> {
2854
    using base =
2855
        detail::scan_context_base<basic_scan_args<basic_scan_context<CharT>>>;
2856
2857
public:
2858
    using char_type = CharT;
2859
    using buffer_type = detail::basic_scan_buffer<char_type>;
2860
    using range_type = ranges::subrange<const char_type*, const char_type*>;
2861
    using iterator = const char_type*;
2862
    using sentinel = const char_type*;
2863
    using parse_context_type = basic_scan_parse_context<char_type>;
2864
2865
    using parent_context_type = basic_scan_context<char_type>;
2866
    using args_type = basic_scan_args<parent_context_type>;
2867
    using arg_type = basic_scan_arg<parent_context_type>;
2868
2869
    template <typename Range,
2870
              std::enable_if_t<ranges::contiguous_range<Range> &&
2871
                               ranges::borrowed_range<Range>>* = nullptr>
2872
    constexpr basic_contiguous_scan_context(Range&& r,
2873
                                            args_type a,
2874
                                            detail::locale_ref loc = {})
2875
        : base(SCN_MOVE(a), loc),
2876
          m_range(SCN_FWD(r)),
2877
          m_current(m_range.begin())
2878
20.7M
    {
2879
20.7M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
3.63M
    {
2879
3.63M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
17.1M
    {
2879
17.1M
    }
2880
2881
    constexpr iterator begin() const
2882
359M
    {
2883
359M
        return m_current;
2884
359M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::begin() const
Line
Count
Source
2882
10.5M
    {
2883
10.5M
        return m_current;
2884
10.5M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin() const
Line
Count
Source
2882
349M
    {
2883
349M
        return m_current;
2884
349M
    }
2885
2886
    constexpr sentinel end() const
2887
637M
    {
2888
637M
        return m_range.end();
2889
637M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::end() const
Line
Count
Source
2887
6.99M
    {
2888
6.99M
        return m_range.end();
2889
6.99M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::end() const
Line
Count
Source
2887
630M
    {
2888
630M
        return m_range.end();
2889
630M
    }
2890
2891
    constexpr auto range() const
2892
20.5M
    {
2893
20.5M
        return ranges::subrange{begin(), end()};
2894
20.5M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::range() const
Line
Count
Source
2892
3.59M
    {
2893
3.59M
        return ranges::subrange{begin(), end()};
2894
3.59M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::range() const
Line
Count
Source
2892
16.9M
    {
2893
16.9M
        return ranges::subrange{begin(), end()};
2894
16.9M
    }
2895
2896
    constexpr auto underlying_range() const
2897
0
    {
2898
0
        return m_range;
2899
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::underlying_range() const
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::underlying_range() const
2900
2901
    void advance_to(iterator it)
2902
318M
    {
2903
318M
        SCN_EXPECT(it <= end());
2904
318M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
318M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
318M
        }
2909
318M
        m_current = SCN_MOVE(it);
2910
318M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(char const*)
Line
Count
Source
2902
3.32M
    {
2903
3.32M
        SCN_EXPECT(it <= end());
2904
3.32M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
3.32M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
3.32M
        }
2909
3.32M
        m_current = SCN_MOVE(it);
2910
3.32M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
2902
314M
    {
2903
314M
        SCN_EXPECT(it <= end());
2904
314M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
314M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
314M
        }
2909
314M
        m_current = SCN_MOVE(it);
2910
314M
    }
2911
2912
    void advance_to(const typename parent_context_type::iterator& it)
2913
0
    {
2914
0
        SCN_EXPECT(it.position() <= m_range.size());
2915
0
        m_current = m_range.begin() + it.position();
2916
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
2917
2918
    std::ptrdiff_t begin_position()
2919
0
    {
2920
0
        return ranges::distance(m_range.begin(), begin());
2921
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::begin_position()
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin_position()
2922
2923
private:
2924
    range_type m_range;
2925
    iterator m_current;
2926
};
2927
2928
struct reader_error_handler {
2929
    constexpr void on_error(const char* msg)
2930
44.7k
    {
2931
44.7k
        SCN_UNLIKELY_ATTR
2932
44.7k
        m_msg = msg;
2933
44.7k
    }
2934
    explicit constexpr operator bool() const
2935
32.5M
    {
2936
32.5M
        return m_msg == nullptr;
2937
32.5M
    }
2938
2939
    const char* m_msg{nullptr};
2940
};
2941
2942
/////////////////////////////////////////////////////////////////
2943
// General reading support
2944
/////////////////////////////////////////////////////////////////
2945
2946
template <typename SourceRange>
2947
auto skip_classic_whitespace(const SourceRange& range,
2948
                             bool allow_exhaustion = false)
2949
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
2950
72.0M
{
2951
72.0M
    if (!allow_exhaustion) {
2952
72.0M
        auto it = read_while_classic_space(range);
2953
72.0M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
72.0M
            SCN_UNLIKELY(!e)) {
2955
104k
            return unexpected(e);
2956
104k
        }
2957
2958
71.9M
        return it;
2959
72.0M
    }
2960
2961
820
    return read_while_classic_space(range);
2962
72.0M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
2.21k
{
2951
2.21k
    if (!allow_exhaustion) {
2952
1.89k
        auto it = read_while_classic_space(range);
2953
1.89k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.89k
            SCN_UNLIKELY(!e)) {
2955
86
            return unexpected(e);
2956
86
        }
2957
2958
1.80k
        return it;
2959
1.89k
    }
2960
2961
316
    return read_while_classic_space(range);
2962
2.21k
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
4.87M
{
2951
4.87M
    if (!allow_exhaustion) {
2952
4.87M
        auto it = read_while_classic_space(range);
2953
4.87M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
4.87M
            SCN_UNLIKELY(!e)) {
2955
42.5k
            return unexpected(e);
2956
42.5k
        }
2957
2958
4.83M
        return it;
2959
4.87M
    }
2960
2961
198
    return read_while_classic_space(range);
2962
4.87M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
4.71M
{
2951
4.71M
    if (!allow_exhaustion) {
2952
4.71M
        auto it = read_while_classic_space(range);
2953
4.71M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
4.71M
            SCN_UNLIKELY(!e)) {
2955
44.7k
            return unexpected(e);
2956
44.7k
        }
2957
2958
4.66M
        return it;
2959
4.71M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
4.71M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
90
{
2951
90
    if (!allow_exhaustion) {
2952
80
        auto it = read_while_classic_space(range);
2953
80
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
80
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
80
        return it;
2959
80
    }
2960
2961
10
    return read_while_classic_space(range);
2962
90
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
41.4M
{
2951
41.4M
    if (!allow_exhaustion) {
2952
41.4M
        auto it = read_while_classic_space(range);
2953
41.4M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
41.4M
            SCN_UNLIKELY(!e)) {
2955
10.2k
            return unexpected(e);
2956
10.2k
        }
2957
2958
41.4M
        return it;
2959
41.4M
    }
2960
2961
296
    return read_while_classic_space(range);
2962
41.4M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
21.0M
{
2951
21.0M
    if (!allow_exhaustion) {
2952
21.0M
        auto it = read_while_classic_space(range);
2953
21.0M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
21.0M
            SCN_UNLIKELY(!e)) {
2955
7.17k
            return unexpected(e);
2956
7.17k
        }
2957
2958
21.0M
        return it;
2959
21.0M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
21.0M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
2963
2964
template <typename SourceCharT, typename DestCharT>
2965
scan_error transcode_impl(std::basic_string_view<SourceCharT> src,
2966
                          std::basic_string<DestCharT>& dst)
2967
2.85k
{
2968
2.85k
    dst.clear();
2969
2.85k
    transcode_valid_to_string(src, dst);
2970
2.85k
    return {};
2971
2.85k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2967
2.20k
{
2968
2.20k
    dst.clear();
2969
2.20k
    transcode_valid_to_string(src, dst);
2970
2.20k
    return {};
2971
2.20k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2967
658
{
2968
658
    dst.clear();
2969
658
    transcode_valid_to_string(src, dst);
2970
658
    return {};
2971
658
}
2972
2973
template <typename SourceCharT, typename DestCharT>
2974
scan_error transcode_if_necessary(
2975
    const contiguous_range_factory<SourceCharT>& source,
2976
    std::basic_string<DestCharT>& dest)
2977
{
2978
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2979
        dest.assign(source.view());
2980
    }
2981
    else {
2982
        return transcode_impl(source.view(), dest);
2983
    }
2984
2985
    return {};
2986
}
2987
2988
template <typename SourceCharT, typename DestCharT>
2989
scan_error transcode_if_necessary(
2990
    contiguous_range_factory<SourceCharT>&& source,
2991
    std::basic_string<DestCharT>& dest)
2992
20.5M
{
2993
20.5M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
20.5M
        if (source.stores_allocated_string()) {
2995
7.14k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
7.14k
        }
2997
20.5M
        else {
2998
20.5M
            dest.assign(source.view());
2999
20.5M
        }
3000
20.5M
    }
3001
336
    else {
3002
336
        return transcode_impl(source.view(), dest);
3003
336
    }
3004
3005
0
    return {};
3006
20.5M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
155k
{
2993
155k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
155k
        if (source.stores_allocated_string()) {
2995
3.41k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
3.41k
        }
2997
152k
        else {
2998
152k
            dest.assign(source.view());
2999
152k
        }
3000
155k
    }
3001
155k
    else {
3002
155k
        return transcode_impl(source.view(), dest);
3003
155k
    }
3004
3005
155k
    return {};
3006
155k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
326
{
2993
326
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
326
        if (source.stores_allocated_string()) {
2995
326
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
326
        }
2997
326
        else {
2998
326
            dest.assign(source.view());
2999
326
        }
3000
326
    }
3001
326
    else {
3002
326
        return transcode_impl(source.view(), dest);
3003
326
    }
3004
3005
0
    return {};
3006
326
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
10
{
2993
10
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
10
        if (source.stores_allocated_string()) {
2995
10
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
10
        }
2997
10
        else {
2998
10
            dest.assign(source.view());
2999
10
        }
3000
10
    }
3001
10
    else {
3002
10
        return transcode_impl(source.view(), dest);
3003
10
    }
3004
3005
0
    return {};
3006
10
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
20.3M
{
2993
20.3M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
20.3M
        if (source.stores_allocated_string()) {
2995
3.72k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
3.72k
        }
2997
20.3M
        else {
2998
20.3M
            dest.assign(source.view());
2999
20.3M
        }
3000
20.3M
    }
3001
20.3M
    else {
3002
20.3M
        return transcode_impl(source.view(), dest);
3003
20.3M
    }
3004
3005
20.3M
    return {};
3006
20.3M
}
3007
3008
template <typename SourceCharT, typename DestCharT>
3009
scan_error transcode_if_necessary(string_view_wrapper<SourceCharT> source,
3010
                                  std::basic_string<DestCharT>& dest)
3011
20.5M
{
3012
20.5M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
2.52k
        dest.assign(source.view());
3014
2.52k
    }
3015
2.52k
    else {
3016
2.52k
        return transcode_impl(source.view(), dest);
3017
2.52k
    }
3018
3019
0
    return {};
3020
20.5M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
155k
{
3012
155k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
155k
        dest.assign(source.view());
3014
155k
    }
3015
155k
    else {
3016
155k
        return transcode_impl(source.view(), dest);
3017
155k
    }
3018
3019
155k
    return {};
3020
155k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
1.87k
{
3012
1.87k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.87k
        dest.assign(source.view());
3014
1.87k
    }
3015
1.87k
    else {
3016
1.87k
        return transcode_impl(source.view(), dest);
3017
1.87k
    }
3018
3019
0
    return {};
3020
1.87k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
648
{
3012
648
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
648
        dest.assign(source.view());
3014
648
    }
3015
648
    else {
3016
648
        return transcode_impl(source.view(), dest);
3017
648
    }
3018
3019
0
    return {};
3020
648
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
20.3M
{
3012
20.3M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
20.3M
        dest.assign(source.view());
3014
20.3M
    }
3015
20.3M
    else {
3016
20.3M
        return transcode_impl(source.view(), dest);
3017
20.3M
    }
3018
3019
20.3M
    return {};
3020
20.3M
}
3021
3022
/////////////////////////////////////////////////////////////////
3023
// Reader base classes etc.
3024
/////////////////////////////////////////////////////////////////
3025
3026
template <typename Derived, typename CharT>
3027
class reader_base {
3028
public:
3029
    using char_type = CharT;
3030
3031
    constexpr reader_base() = default;
3032
3033
    bool skip_ws_before_read() const
3034
16.7M
    {
3035
16.7M
        return true;
3036
16.7M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
7.45M
    {
3035
7.45M
        return true;
3036
7.45M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
7.91M
    {
3035
7.91M
        return true;
3036
7.91M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
714k
    {
3035
714k
        return true;
3036
714k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
642k
    {
3035
642k
        return true;
3036
642k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.43k
    {
3035
1.43k
        return true;
3036
1.43k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.05k
    {
3035
1.05k
        return true;
3036
1.05k
    }
3037
3038
    scan_error check_specs(const detail::format_specs& specs)
3039
32.4M
    {
3040
32.4M
        reader_error_handler eh{};
3041
32.4M
        get_derived().check_specs_impl(specs, eh);
3042
32.4M
        if (SCN_UNLIKELY(!eh)) {
3043
34.6k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
34.6k
        }
3045
32.4M
        return {};
3046
32.4M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.40M
    {
3040
3.40M
        reader_error_handler eh{};
3041
3.40M
        get_derived().check_specs_impl(specs, eh);
3042
3.40M
        if (SCN_UNLIKELY(!eh)) {
3043
9.98k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
9.98k
        }
3045
3.39M
        return {};
3046
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.37M
    {
3040
3.37M
        reader_error_handler eh{};
3041
3.37M
        get_derived().check_specs_impl(specs, eh);
3042
3.37M
        if (SCN_UNLIKELY(!eh)) {
3043
4.99k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.99k
        }
3045
3.36M
        return {};
3046
3.37M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
216k
    {
3040
216k
        reader_error_handler eh{};
3041
216k
        get_derived().check_specs_impl(specs, eh);
3042
216k
        if (SCN_UNLIKELY(!eh)) {
3043
5.03k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
5.03k
        }
3045
211k
        return {};
3046
216k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
567k
    {
3040
567k
        reader_error_handler eh{};
3041
567k
        get_derived().check_specs_impl(specs, eh);
3042
567k
        if (SCN_UNLIKELY(!eh)) {
3043
188
            return {scan_error::invalid_format_string, eh.m_msg};
3044
188
        }
3045
567k
        return {};
3046
567k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
435k
    {
3040
435k
        reader_error_handler eh{};
3041
435k
        get_derived().check_specs_impl(specs, eh);
3042
435k
        if (SCN_UNLIKELY(!eh)) {
3043
104
            return {scan_error::invalid_format_string, eh.m_msg};
3044
104
        }
3045
435k
        return {};
3046
435k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
24.4M
    {
3040
24.4M
        reader_error_handler eh{};
3041
24.4M
        get_derived().check_specs_impl(specs, eh);
3042
24.4M
        if (SCN_UNLIKELY(!eh)) {
3043
9.46k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
9.46k
        }
3045
24.4M
        return {};
3046
24.4M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.53k
    {
3040
5.53k
        reader_error_handler eh{};
3041
5.53k
        get_derived().check_specs_impl(specs, eh);
3042
5.53k
        if (SCN_UNLIKELY(!eh)) {
3043
4.75k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.75k
        }
3045
784
        return {};
3046
5.53k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
556
    {
3040
556
        reader_error_handler eh{};
3041
556
        get_derived().check_specs_impl(specs, eh);
3042
556
        if (SCN_UNLIKELY(!eh)) {
3043
82
            return {scan_error::invalid_format_string, eh.m_msg};
3044
82
        }
3045
474
        return {};
3046
556
    }
3047
3048
private:
3049
    Derived& get_derived()
3050
32.4M
    {
3051
32.4M
        return static_cast<Derived&>(*this);
3052
32.4M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3050
3.40M
    {
3051
3.40M
        return static_cast<Derived&>(*this);
3052
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3050
3.37M
    {
3051
3.37M
        return static_cast<Derived&>(*this);
3052
3.37M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3050
216k
    {
3051
216k
        return static_cast<Derived&>(*this);
3052
216k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
567k
    {
3051
567k
        return static_cast<Derived&>(*this);
3052
567k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
435k
    {
3051
435k
        return static_cast<Derived&>(*this);
3052
435k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
24.4M
    {
3051
24.4M
        return static_cast<Derived&>(*this);
3052
24.4M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3050
5.53k
    {
3051
5.53k
        return static_cast<Derived&>(*this);
3052
5.53k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
556
    {
3051
556
        return static_cast<Derived&>(*this);
3052
556
    }
3053
    const Derived& get_derived() const
3054
    {
3055
        return static_cast<const Derived&>(*this);
3056
    }
3057
};
3058
3059
template <typename CharT>
3060
class reader_impl_for_monostate {
3061
public:
3062
    constexpr reader_impl_for_monostate() = default;
3063
3064
    bool skip_ws_before_read() const
3065
0
    {
3066
0
        return true;
3067
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3068
3069
    static scan_error check_specs(const detail::format_specs&)
3070
0
    {
3071
0
        SCN_EXPECT(false);
3072
0
        SCN_UNREACHABLE;
3073
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::check_specs(scn::v3::detail::format_specs const&)
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
3074
3075
    template <typename Range>
3076
    auto read_default(Range, monostate&, detail::locale_ref)
3077
        -> scan_expected<ranges::const_iterator_t<Range>>
3078
0
    {
3079
0
        SCN_EXPECT(false);
3080
0
        SCN_UNREACHABLE;
3081
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3082
3083
    template <typename Range>
3084
    auto read_specs(Range,
3085
                    const detail::format_specs&,
3086
                    monostate&,
3087
                    detail::locale_ref)
3088
        -> scan_expected<ranges::const_iterator_t<Range>>
3089
0
    {
3090
0
        SCN_EXPECT(false);
3091
0
        SCN_UNREACHABLE;
3092
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3093
};
3094
3095
/////////////////////////////////////////////////////////////////
3096
// Numeric reader support
3097
/////////////////////////////////////////////////////////////////
3098
3099
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3100
3101
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3102
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3103
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3104
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3105
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3106
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3107
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3108
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3109
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3110
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3111
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3112
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3113
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3114
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3115
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3116
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3117
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3118
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3119
    255};
3120
3121
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3122
65.8M
{
3123
65.8M
    return char_to_int_table[static_cast<unsigned char>(ch)];
3124
65.8M
}
3125
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3126
2.27M
{
3127
2.27M
#if WCHAR_MIN < 0
3128
2.27M
    if (ch >= 0 && ch <= 255) {
3129
#else
3130
    if (ch <= 255) {
3131
#endif
3132
1.24M
        return char_to_int(static_cast<char>(ch));
3133
1.24M
    }
3134
1.02M
    return 255;
3135
2.27M
}
3136
3137
template <typename Range>
3138
auto parse_numeric_sign(Range range)
3139
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3140
10.6M
{
3141
10.6M
    auto r = read_one_of_code_unit(range, "+-");
3142
10.6M
    if (!r) {
3143
8.80M
        if (r.error() == parse_error::error) {
3144
8.80M
            return std::pair{range.begin(), sign_type::default_sign};
3145
8.80M
        }
3146
686
        return unexpected(eof_error::eof);
3147
8.80M
    }
3148
3149
1.82M
    auto& it = *r;
3150
1.82M
    if (*range.begin() == '-') {
3151
849k
        return std::pair{it, sign_type::minus_sign};
3152
849k
    }
3153
974k
    return std::pair{it, sign_type::plus_sign};
3154
1.82M
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
4.75M
{
3141
4.75M
    auto r = read_one_of_code_unit(range, "+-");
3142
4.75M
    if (!r) {
3143
3.82M
        if (r.error() == parse_error::error) {
3144
3.82M
            return std::pair{range.begin(), sign_type::default_sign};
3145
3.82M
        }
3146
491
        return unexpected(eof_error::eof);
3147
3.82M
    }
3148
3149
927k
    auto& it = *r;
3150
927k
    if (*range.begin() == '-') {
3151
427k
        return std::pair{it, sign_type::minus_sign};
3152
427k
    }
3153
499k
    return std::pair{it, sign_type::plus_sign};
3154
927k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
1.09k
{
3141
1.09k
    auto r = read_one_of_code_unit(range, "+-");
3142
1.09k
    if (!r) {
3143
1.09k
        if (r.error() == parse_error::error) {
3144
1.09k
            return std::pair{range.begin(), sign_type::default_sign};
3145
1.09k
        }
3146
0
        return unexpected(eof_error::eof);
3147
1.09k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
4.59M
{
3141
4.59M
    auto r = read_one_of_code_unit(range, "+-");
3142
4.59M
    if (!r) {
3143
3.70M
        if (r.error() == parse_error::error) {
3144
3.70M
            return std::pair{range.begin(), sign_type::default_sign};
3145
3.70M
        }
3146
156
        return unexpected(eof_error::eof);
3147
3.70M
    }
3148
3149
891k
    auto& it = *r;
3150
891k
    if (*range.begin() == '-') {
3151
416k
        return std::pair{it, sign_type::minus_sign};
3152
416k
    }
3153
474k
    return std::pair{it, sign_type::plus_sign};
3154
891k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
637k
{
3141
637k
    auto r = read_one_of_code_unit(range, "+-");
3142
637k
    if (!r) {
3143
634k
        if (r.error() == parse_error::error) {
3144
634k
            return std::pair{range.begin(), sign_type::default_sign};
3145
634k
        }
3146
27
        return unexpected(eof_error::eof);
3147
634k
    }
3148
3149
2.62k
    auto& it = *r;
3150
2.62k
    if (*range.begin() == '-') {
3151
2.36k
        return std::pair{it, sign_type::minus_sign};
3152
2.36k
    }
3153
262
    return std::pair{it, sign_type::plus_sign};
3154
2.62k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
40
{
3141
40
    auto r = read_one_of_code_unit(range, "+-");
3142
40
    if (!r) {
3143
40
        if (r.error() == parse_error::error) {
3144
40
            return std::pair{range.begin(), sign_type::default_sign};
3145
40
        }
3146
0
        return unexpected(eof_error::eof);
3147
40
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
639k
{
3141
639k
    auto r = read_one_of_code_unit(range, "+-");
3142
639k
    if (!r) {
3143
637k
        if (r.error() == parse_error::error) {
3144
637k
            return std::pair{range.begin(), sign_type::default_sign};
3145
637k
        }
3146
12
        return unexpected(eof_error::eof);
3147
637k
    }
3148
3149
2.51k
    auto& it = *r;
3150
2.51k
    if (*range.begin() == '-') {
3151
2.25k
        return std::pair{it, sign_type::minus_sign};
3152
2.25k
    }
3153
262
    return std::pair{it, sign_type::plus_sign};
3154
2.51k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
3155
3156
inline void transform_thsep_indices(std::string& indices,
3157
                                    std::ptrdiff_t last_thsep_index)
3158
9.11k
{
3159
141k
    for (auto thsep_it = indices.rbegin(); thsep_it != indices.rend();
3160
132k
         ++thsep_it) {
3161
132k
        const auto tmp = *thsep_it;
3162
132k
        *thsep_it = static_cast<char>(last_thsep_index - tmp - 1);
3163
132k
        last_thsep_index = static_cast<std::ptrdiff_t>(tmp);
3164
132k
    }
3165
9.11k
    indices.insert(indices.begin(), static_cast<char>(last_thsep_index));
3166
9.11k
}
3167
3168
template <typename Range>
3169
bool check_thsep_grouping_impl(Range range,
3170
                               std::string& thsep_indices,
3171
                               std::string_view grouping)
3172
9.11k
{
3173
9.11k
    transform_thsep_indices(thsep_indices,
3174
9.11k
                            ranges::distance(range.begin(), range.end()));
3175
3176
9.11k
    auto thsep_it = thsep_indices.rbegin();
3177
9.11k
    for (auto grouping_it = grouping.begin();
3178
9.11k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
9.11k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
9.11k
    SCN_CLANG_PUSH
3186
    // false positive
3187
9.11k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
109k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
102k
        if (*thsep_it != grouping.back()) {
3191
2.13k
            return false;
3192
2.13k
        }
3193
102k
    }
3194
3195
6.98k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
6.98k
        if (*thsep_it > grouping.back()) {
3197
2.35k
            return false;
3198
2.35k
        }
3199
6.98k
    }
3200
3201
4.62k
    SCN_CLANG_POP
3202
3203
4.62k
    return true;
3204
6.98k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.44k
{
3173
4.44k
    transform_thsep_indices(thsep_indices,
3174
4.44k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.44k
    auto thsep_it = thsep_indices.rbegin();
3177
4.44k
    for (auto grouping_it = grouping.begin();
3178
4.44k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.44k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.44k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.44k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
54.2k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.8k
        if (*thsep_it != grouping.back()) {
3191
1.04k
            return false;
3192
1.04k
        }
3193
50.8k
    }
3194
3195
3.40k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.40k
        if (*thsep_it > grouping.back()) {
3197
1.08k
            return false;
3198
1.08k
        }
3199
3.40k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.40k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.42k
{
3173
4.42k
    transform_thsep_indices(thsep_indices,
3174
4.42k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.42k
    auto thsep_it = thsep_indices.rbegin();
3177
4.42k
    for (auto grouping_it = grouping.begin();
3178
4.42k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.42k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.42k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.42k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
53.9k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.6k
        if (*thsep_it != grouping.back()) {
3191
1.03k
            return false;
3192
1.03k
        }
3193
50.6k
    }
3194
3195
3.38k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.38k
        if (*thsep_it > grouping.back()) {
3197
1.07k
            return false;
3198
1.07k
        }
3199
3.38k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.38k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
126
{
3173
126
    transform_thsep_indices(thsep_indices,
3174
126
                            ranges::distance(range.begin(), range.end()));
3175
3176
126
    auto thsep_it = thsep_indices.rbegin();
3177
126
    for (auto grouping_it = grouping.begin();
3178
126
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
126
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
126
    SCN_CLANG_PUSH
3186
    // false positive
3187
126
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
648
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
552
        if (*thsep_it != grouping.back()) {
3191
30
            return false;
3192
30
        }
3193
552
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
126
{
3173
126
    transform_thsep_indices(thsep_indices,
3174
126
                            ranges::distance(range.begin(), range.end()));
3175
3176
126
    auto thsep_it = thsep_indices.rbegin();
3177
126
    for (auto grouping_it = grouping.begin();
3178
126
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
126
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
126
    SCN_CLANG_PUSH
3186
    // false positive
3187
126
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
648
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
552
        if (*thsep_it != grouping.back()) {
3191
30
            return false;
3192
30
        }
3193
552
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
3205
3206
template <typename Range>
3207
scan_error check_thsep_grouping(Range range,
3208
                                std::string thsep_indices,
3209
                                std::string_view grouping)
3210
9.11k
{
3211
9.11k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
9.11k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
4.49k
        SCN_UNLIKELY_ATTR
3215
4.49k
        return {scan_error::invalid_scanned_value,
3216
4.49k
                "Invalid thousands separator grouping"};
3217
4.49k
    }
3218
3219
4.62k
    return {};
3220
9.11k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.44k
{
3211
4.44k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.44k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.13k
        SCN_UNLIKELY_ATTR
3215
2.13k
        return {scan_error::invalid_scanned_value,
3216
2.13k
                "Invalid thousands separator grouping"};
3217
2.13k
    }
3218
3219
2.31k
    return {};
3220
4.44k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.42k
{
3211
4.42k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.42k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.11k
        SCN_UNLIKELY_ATTR
3215
2.11k
        return {scan_error::invalid_scanned_value,
3216
2.11k
                "Invalid thousands separator grouping"};
3217
2.11k
    }
3218
3219
2.31k
    return {};
3220
4.42k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
126
{
3211
126
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
126
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
126
        SCN_UNLIKELY_ATTR
3215
126
        return {scan_error::invalid_scanned_value,
3216
126
                "Invalid thousands separator grouping"};
3217
126
    }
3218
3219
0
    return {};
3220
126
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
126
{
3211
126
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
126
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
126
        SCN_UNLIKELY_ATTR
3215
126
        return {scan_error::invalid_scanned_value,
3216
126
                "Invalid thousands separator grouping"};
3217
126
    }
3218
3219
0
    return {};
3220
126
}
3221
3222
template <typename CharT>
3223
class numeric_reader {
3224
public:
3225
    contiguous_range_factory<CharT> m_buffer{};
3226
};
3227
3228
/////////////////////////////////////////////////////////////////
3229
// Integer reader
3230
/////////////////////////////////////////////////////////////////
3231
3232
template <typename Iterator>
3233
struct parse_integer_prefix_result {
3234
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3235
    int parsed_base{0};
3236
    sign_type sign{sign_type::default_sign};
3237
    bool is_zero{false};
3238
};
3239
3240
template <typename Range>
3241
auto parse_integer_bin_base_prefix(Range range)
3242
    -> parse_expected<ranges::const_iterator_t<Range>>
3243
1.24M
{
3244
1.24M
    return read_matching_string_classic_nocase(range, "0b");
3245
1.24M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
528k
{
3244
528k
    return read_matching_string_classic_nocase(range, "0b");
3245
528k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
36
{
3244
36
    return read_matching_string_classic_nocase(range, "0b");
3245
36
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
525k
{
3244
525k
    return read_matching_string_classic_nocase(range, "0b");
3245
525k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
3246
3247
template <typename Range>
3248
auto parse_integer_hex_base_prefix(Range range)
3249
    -> parse_expected<ranges::const_iterator_t<Range>>
3250
1.86M
{
3251
1.86M
    return read_matching_string_classic_nocase(range, "0x");
3252
1.86M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
840k
{
3251
840k
    return read_matching_string_classic_nocase(range, "0x");
3252
840k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
280
{
3251
280
    return read_matching_string_classic_nocase(range, "0x");
3252
280
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
836k
{
3251
836k
    return read_matching_string_classic_nocase(range, "0x");
3252
836k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
93.9k
{
3251
93.9k
    return read_matching_string_classic_nocase(range, "0x");
3252
93.9k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
10
{
3251
10
    return read_matching_string_classic_nocase(range, "0x");
3252
10
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
94.9k
{
3251
94.9k
    return read_matching_string_classic_nocase(range, "0x");
3252
94.9k
}
3253
3254
template <typename Range>
3255
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3256
    -> parse_expected<ranges::const_iterator_t<Range>>
3257
1.36M
{
3258
1.36M
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
12.7k
        return *r;
3260
12.7k
    }
3261
3262
1.35M
    if (auto r = read_matching_code_unit(range, '0')) {
3263
543k
        zero_parsed = true;
3264
543k
        return *r;
3265
543k
    }
3266
3267
807k
    return unexpected(parse_error::error);
3268
1.35M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
589k
{
3258
589k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
582k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
272k
        zero_parsed = true;
3264
272k
        return *r;
3265
272k
    }
3266
3267
310k
    return unexpected(parse_error::error);
3268
582k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
36
{
3258
36
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
36
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
36
    return unexpected(parse_error::error);
3268
36
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
586k
{
3258
586k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
580k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
270k
        zero_parsed = true;
3264
270k
        return *r;
3265
270k
    }
3266
3267
309k
    return unexpected(parse_error::error);
3268
580k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
3269
3270
template <typename Range>
3271
auto parse_integer_base_prefix_for_detection(Range range)
3272
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3273
1.02M
{
3274
1.02M
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
9.80k
        return {*r, 16, false};
3276
9.80k
    }
3277
1.01M
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
4.74k
        return {*r, 2, false};
3279
4.74k
    }
3280
1.01M
    {
3281
1.01M
        bool zero_parsed{false};
3282
1.01M
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
436k
            return {*r, 8, zero_parsed};
3284
436k
        }
3285
1.01M
    }
3286
577k
    return {range.begin(), 10, false};
3287
1.01M
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
468k
{
3274
468k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.98k
        return {*r, 16, false};
3276
4.98k
    }
3277
463k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
461k
    {
3281
461k
        bool zero_parsed{false};
3282
461k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
219k
            return {*r, 8, zero_parsed};
3284
219k
        }
3285
461k
    }
3286
242k
    return {range.begin(), 10, false};
3287
461k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
26
{
3274
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
26
    {
3281
26
        bool zero_parsed{false};
3282
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
26
    }
3286
26
    return {range.begin(), 10, false};
3287
26
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
466k
{
3274
466k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.82k
        return {*r, 16, false};
3276
4.82k
    }
3277
461k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
458k
    {
3281
458k
        bool zero_parsed{false};
3282
458k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
217k
            return {*r, 8, zero_parsed};
3284
217k
        }
3285
458k
    }
3286
241k
    return {range.begin(), 10, false};
3287
458k
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
46.9k
{
3274
46.9k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
46.9k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
46.9k
    {
3281
46.9k
        bool zero_parsed{false};
3282
46.9k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
46.9k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
46.9k
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
47.0k
{
3274
47.0k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
47.0k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
47.0k
    {
3281
47.0k
        bool zero_parsed{false};
3282
47.0k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
47.0k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
47.0k
}
3288
3289
template <typename Range>
3290
auto parse_integer_base_prefix(Range range, int base)
3291
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3292
5.03M
{
3293
5.03M
    switch (base) {
3294
222k
        case 2:
3295
            // allow 0b/0B
3296
222k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
222k
                    false};
3298
3299
348k
        case 8: {
3300
            // allow 0o/0O/0
3301
348k
            bool zero_parsed = false;
3302
348k
            auto it = apply_opt(
3303
348k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
348k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
836k
        case 16:
3308
            // allow 0x/0X
3309
836k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
836k
                    false};
3311
3312
1.02M
        case 0:
3313
            // detect base
3314
1.02M
            return parse_integer_base_prefix_for_detection(range);
3315
3316
2.59M
        default:
3317
            // no base prefix allowed
3318
2.59M
            return {range.begin(), base, false};
3319
5.03M
    }
3320
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.8k
        case 2:
3295
            // allow 0b/0B
3296
64.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.8k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
371k
        case 16:
3308
            // allow 0x/0X
3309
371k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
371k
                    false};
3311
3312
468k
        case 0:
3313
            // detect base
3314
468k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
828
{
3293
828
    switch (base) {
3294
10
        case 2:
3295
            // allow 0b/0B
3296
10
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
10
                    false};
3298
3299
10
        case 8: {
3300
            // allow 0o/0O/0
3301
10
            bool zero_parsed = false;
3302
10
            auto it = apply_opt(
3303
10
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
10
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
254
        case 16:
3308
            // allow 0x/0X
3309
254
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
254
                    false};
3311
3312
26
        case 0:
3313
            // detect base
3314
26
            return parse_integer_base_prefix_for_detection(range);
3315
3316
528
        default:
3317
            // no base prefix allowed
3318
528
            return {range.begin(), base, false};
3319
828
    }
3320
828
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.6k
        case 2:
3295
            // allow 0b/0B
3296
64.6k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.6k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
370k
        case 16:
3308
            // allow 0x/0X
3309
370k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
370k
                    false};
3311
3312
466k
        case 0:
3313
            // detect base
3314
466k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
351k
{
3293
351k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
46.9k
        case 16:
3308
            // allow 0x/0X
3309
46.9k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
46.9k
                    false};
3311
3312
46.9k
        case 0:
3313
            // detect base
3314
46.9k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
164k
        default:
3317
            // no base prefix allowed
3318
164k
            return {range.begin(), base, false};
3319
351k
    }
3320
351k
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
30
{
3293
30
    switch (base) {
3294
0
        case 2:
3295
            // allow 0b/0B
3296
0
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
0
                    false};
3298
3299
0
        case 8: {
3300
            // allow 0o/0O/0
3301
0
            bool zero_parsed = false;
3302
0
            auto it = apply_opt(
3303
0
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
0
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
10
        case 16:
3308
            // allow 0x/0X
3309
10
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
10
                    false};
3311
3312
0
        case 0:
3313
            // detect base
3314
0
            return parse_integer_base_prefix_for_detection(range);
3315
3316
20
        default:
3317
            // no base prefix allowed
3318
20
            return {range.begin(), base, false};
3319
30
    }
3320
30
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
354k
{
3293
354k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
47.9k
        case 16:
3308
            // allow 0x/0X
3309
47.9k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
47.9k
                    false};
3311
3312
47.0k
        case 0:
3313
            // detect base
3314
47.0k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
166k
        default:
3317
            // no base prefix allowed
3318
166k
            return {range.begin(), base, false};
3319
354k
    }
3320
354k
}
3321
3322
template <typename Range>
3323
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3324
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3325
5.03M
{
3326
5.03M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
5.03M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
5.03M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
5.03M
        parse_integer_base_prefix(
3331
5.03M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
5.03M
    if (parsed_zero) {
3334
543k
        if (digits_begin_it == range.end() ||
3335
543k
            char_to_int(*digits_begin_it) >= 8) {
3336
318k
            digits_begin_it = base_prefix_begin_it;
3337
318k
        }
3338
224k
        else {
3339
224k
            parsed_zero = false;
3340
224k
        }
3341
543k
    }
3342
4.48M
    else {
3343
4.48M
        if (digits_begin_it == range.end() ||
3344
4.48M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
898k
            digits_begin_it = base_prefix_begin_it;
3346
898k
        }
3347
4.48M
    }
3348
3349
5.03M
    if (sign == sign_type::default_sign) {
3350
4.66M
        sign = sign_type::plus_sign;
3351
4.66M
    }
3352
5.03M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
5.03M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
272k
        if (digits_begin_it == range.end() ||
3335
272k
            char_to_int(*digits_begin_it) >= 8) {
3336
159k
            digits_begin_it = base_prefix_begin_it;
3337
159k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
272k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
98.3k
            digits_begin_it = base_prefix_begin_it;
3346
98.3k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
828
{
3326
828
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
828
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
828
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
828
        parse_integer_base_prefix(
3331
828
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
828
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
828
    else {
3343
828
        if (digits_begin_it == range.end() ||
3344
828
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
828
            digits_begin_it = base_prefix_begin_it;
3346
828
        }
3347
828
    }
3348
3349
828
    if (sign == sign_type::default_sign) {
3350
828
        sign = sign_type::plus_sign;
3351
828
    }
3352
828
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
828
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
828
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
270k
        if (digits_begin_it == range.end() ||
3335
270k
            char_to_int(*digits_begin_it) >= 8) {
3336
157k
            digits_begin_it = base_prefix_begin_it;
3337
157k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
270k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
102k
            digits_begin_it = base_prefix_begin_it;
3346
102k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
351k
{
3326
351k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
351k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
351k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
351k
        parse_integer_base_prefix(
3331
351k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
351k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
351k
    else {
3343
351k
        if (digits_begin_it == range.end() ||
3344
351k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
346k
            digits_begin_it = base_prefix_begin_it;
3346
346k
        }
3347
351k
    }
3348
3349
351k
    if (sign == sign_type::default_sign) {
3350
349k
        sign = sign_type::plus_sign;
3351
349k
    }
3352
351k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
351k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
351k
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
30
{
3326
30
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
30
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
30
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
30
        parse_integer_base_prefix(
3331
30
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
30
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
30
    else {
3343
30
        if (digits_begin_it == range.end() ||
3344
30
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
30
            digits_begin_it = base_prefix_begin_it;
3346
30
        }
3347
30
    }
3348
3349
30
    if (sign == sign_type::default_sign) {
3350
30
        sign = sign_type::plus_sign;
3351
30
    }
3352
30
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
30
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
30
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
354k
{
3326
354k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
354k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
354k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
354k
        parse_integer_base_prefix(
3331
354k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
354k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
354k
    else {
3343
354k
        if (digits_begin_it == range.end() ||
3344
354k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
349k
            digits_begin_it = base_prefix_begin_it;
3346
349k
        }
3347
354k
    }
3348
3349
354k
    if (sign == sign_type::default_sign) {
3350
352k
        sign = sign_type::plus_sign;
3351
352k
    }
3352
354k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
354k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
354k
}
3355
3356
template <typename Range>
3357
auto parse_integer_digits_without_thsep(Range range, int base)
3358
    -> scan_expected<ranges::const_iterator_t<Range>>
3359
3.91M
{
3360
3.91M
    using char_type = detail::char_t<Range>;
3361
3362
3.91M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.96M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65k
            return unexpected_scan_error(
3365
1.65k
                scan_error::invalid_scanned_value,
3366
1.65k
                "Failed to parse integer: No digits found");
3367
1.65k
        }
3368
1.95M
        return range.end();
3369
1.96M
    }
3370
1.95M
    else {
3371
1.95M
        return read_while1_code_unit(range,
3372
6.81M
                                     [&](char_type ch) noexcept {
3373
6.81M
                                         return char_to_int(ch) < base;
3374
6.81M
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
Line
Count
Source
3372
6.49M
                                     [&](char_type ch) noexcept {
3373
6.49M
                                         return char_to_int(ch) < base;
3374
6.49M
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3372
804
                                     [&](char_type ch) noexcept {
3373
804
                                         return char_to_int(ch) < base;
3374
804
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
Line
Count
Source
3372
314k
                                     [&](char_type ch) noexcept {
3373
314k
                                         return char_to_int(ch) < base;
3374
314k
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3372
30
                                     [&](char_type ch) noexcept {
3373
30
                                         return char_to_int(ch) < base;
3374
30
                                     })
3375
1.95M
            .transform_error(map_parse_error_to_scan_error(
3376
1.95M
                scan_error::invalid_scanned_value,
3377
1.95M
                "Failed to parse integer: No digits found"));
3378
1.95M
    }
3379
3.91M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65M
            return unexpected_scan_error(
3365
1.65M
                scan_error::invalid_scanned_value,
3366
1.65M
                "Failed to parse integer: No digits found");
3367
1.65M
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
804
{
3360
804
    using char_type = detail::char_t<Range>;
3361
3362
804
    if constexpr (ranges::contiguous_range<Range>) {
3363
804
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
804
            return unexpected_scan_error(
3365
804
                scan_error::invalid_scanned_value,
3366
804
                "Failed to parse integer: No digits found");
3367
804
        }
3368
804
        return range.end();
3369
804
    }
3370
804
    else {
3371
804
        return read_while1_code_unit(range,
3372
804
                                     [&](char_type ch) noexcept {
3373
804
                                         return char_to_int(ch) < base;
3374
804
                                     })
3375
804
            .transform_error(map_parse_error_to_scan_error(
3376
804
                scan_error::invalid_scanned_value,
3377
804
                "Failed to parse integer: No digits found"));
3378
804
    }
3379
804
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.42k
            return unexpected_scan_error(
3365
1.42k
                scan_error::invalid_scanned_value,
3366
1.42k
                "Failed to parse integer: No digits found");
3367
1.42k
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
303k
{
3360
303k
    using char_type = detail::char_t<Range>;
3361
3362
303k
    if constexpr (ranges::contiguous_range<Range>) {
3363
303k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
303k
            return unexpected_scan_error(
3365
303k
                scan_error::invalid_scanned_value,
3366
303k
                "Failed to parse integer: No digits found");
3367
303k
        }
3368
303k
        return range.end();
3369
303k
    }
3370
303k
    else {
3371
303k
        return read_while1_code_unit(range,
3372
303k
                                     [&](char_type ch) noexcept {
3373
303k
                                         return char_to_int(ch) < base;
3374
303k
                                     })
3375
303k
            .transform_error(map_parse_error_to_scan_error(
3376
303k
                scan_error::invalid_scanned_value,
3377
303k
                "Failed to parse integer: No digits found"));
3378
303k
    }
3379
303k
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
30
{
3360
30
    using char_type = detail::char_t<Range>;
3361
3362
30
    if constexpr (ranges::contiguous_range<Range>) {
3363
30
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
30
            return unexpected_scan_error(
3365
30
                scan_error::invalid_scanned_value,
3366
30
                "Failed to parse integer: No digits found");
3367
30
        }
3368
30
        return range.end();
3369
30
    }
3370
30
    else {
3371
30
        return read_while1_code_unit(range,
3372
30
                                     [&](char_type ch) noexcept {
3373
30
                                         return char_to_int(ch) < base;
3374
30
                                     })
3375
30
            .transform_error(map_parse_error_to_scan_error(
3376
30
                scan_error::invalid_scanned_value,
3377
30
                "Failed to parse integer: No digits found"));
3378
30
    }
3379
30
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
306k
{
3360
306k
    using char_type = detail::char_t<Range>;
3361
3362
306k
    if constexpr (ranges::contiguous_range<Range>) {
3363
306k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
234
            return unexpected_scan_error(
3365
234
                scan_error::invalid_scanned_value,
3366
234
                "Failed to parse integer: No digits found");
3367
234
        }
3368
306k
        return range.end();
3369
306k
    }
3370
306k
    else {
3371
306k
        return read_while1_code_unit(range,
3372
306k
                                     [&](char_type ch) noexcept {
3373
306k
                                         return char_to_int(ch) < base;
3374
306k
                                     })
3375
306k
            .transform_error(map_parse_error_to_scan_error(
3376
306k
                scan_error::invalid_scanned_value,
3377
306k
                "Failed to parse integer: No digits found"));
3378
306k
    }
3379
306k
}
3380
3381
template <typename Range, typename CharT>
3382
auto parse_integer_digits_with_thsep(
3383
    Range range,
3384
    int base,
3385
    const localized_number_formatting_options<CharT>& locale_options)
3386
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3387
                                std::basic_string<CharT>,
3388
                                std::string>>
3389
733k
{
3390
733k
    std::basic_string<CharT> output;
3391
733k
    std::string thsep_indices;
3392
733k
    auto it = range.begin();
3393
733k
    bool digit_matched = false;
3394
194M
    for (; it != range.end(); ++it) {
3395
194M
        if (*it == locale_options.thousands_sep) {
3396
191M
            thsep_indices.push_back(
3397
191M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
191M
        }
3399
3.06M
        else if (char_to_int(*it) >= base) {
3400
723k
            break;
3401
723k
        }
3402
2.34M
        else {
3403
2.34M
            output.push_back(*it);
3404
2.34M
            digit_matched = true;
3405
2.34M
        }
3406
194M
    }
3407
733k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
110k
        return unexpected_scan_error(
3409
110k
            scan_error::invalid_scanned_value,
3410
110k
            "Failed to parse integer: No digits found");
3411
110k
    }
3412
622k
    return std::tuple{it, output, thsep_indices};
3413
733k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
320k
{
3390
320k
    std::basic_string<CharT> output;
3391
320k
    std::string thsep_indices;
3392
320k
    auto it = range.begin();
3393
320k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.55M
        if (*it == locale_options.thousands_sep) {
3396
67.8k
            thsep_indices.push_back(
3397
67.8k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.8k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
315k
            break;
3401
315k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.55M
    }
3407
320k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
8.86k
        return unexpected_scan_error(
3409
8.86k
            scan_error::invalid_scanned_value,
3410
8.86k
            "Failed to parse integer: No digits found");
3411
8.86k
    }
3412
311k
    return std::tuple{it, output, thsep_indices};
3413
320k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
24
{
3390
24
    std::basic_string<CharT> output;
3391
24
    std::string thsep_indices;
3392
24
    auto it = range.begin();
3393
24
    bool digit_matched = false;
3394
24
    for (; it != range.end(); ++it) {
3395
24
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
24
        else if (char_to_int(*it) >= base) {
3400
24
            break;
3401
24
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
24
    }
3407
24
    if (SCN_UNLIKELY(!digit_matched)) {
3408
24
        return unexpected_scan_error(
3409
24
            scan_error::invalid_scanned_value,
3410
24
            "Failed to parse integer: No digits found");
3411
24
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
24
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
319k
{
3390
319k
    std::basic_string<CharT> output;
3391
319k
    std::string thsep_indices;
3392
319k
    auto it = range.begin();
3393
319k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.54M
        if (*it == locale_options.thousands_sep) {
3396
67.4k
            thsep_indices.push_back(
3397
67.4k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.4k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
314k
            break;
3401
314k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.54M
    }
3407
319k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
9.26k
        return unexpected_scan_error(
3409
9.26k
            scan_error::invalid_scanned_value,
3410
9.26k
            "Failed to parse integer: No digits found");
3411
9.26k
    }
3412
309k
    return std::tuple{it, output, thsep_indices};
3413
319k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
48.9k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
2.61k
        else {
3403
2.61k
            output.push_back(*it);
3404
2.61k
            digit_matched = true;
3405
2.61k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
46.0k
        return unexpected_scan_error(
3409
46.0k
            scan_error::invalid_scanned_value,
3410
46.0k
            "Failed to parse integer: No digits found");
3411
46.0k
    }
3412
724
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
48.9k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
2.61k
        else {
3403
2.61k
            output.push_back(*it);
3404
2.61k
            digit_matched = true;
3405
2.61k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
46.0k
        return unexpected_scan_error(
3409
46.0k
            scan_error::invalid_scanned_value,
3410
46.0k
            "Failed to parse integer: No digits found");
3411
46.0k
    }
3412
724
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
3414
3415
template <typename CharT, typename T>
3416
auto parse_integer_value(std::basic_string_view<CharT> source,
3417
                         T& value,
3418
                         sign_type sign,
3419
                         int base)
3420
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3421
3422
template <typename T>
3423
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3424
3425
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3426
    extern template auto parse_integer_value(                               \
3427
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3428
        int base)                                                           \
3429
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3430
    extern template void parse_integer_value_exhaustive_valid(              \
3431
        std::string_view, IntT&);
3432
3433
#if !SCN_DISABLE_TYPE_SCHAR
3434
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3435
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3436
#endif
3437
#if !SCN_DISABLE_TYPE_SHORT
3438
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3439
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3440
#endif
3441
#if !SCN_DISABLE_TYPE_INT
3442
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3443
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3444
#endif
3445
#if !SCN_DISABLE_TYPE_LONG
3446
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3447
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3448
#endif
3449
#if !SCN_DISABLE_TYPE_LONG_LONG
3450
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3451
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3452
#endif
3453
#if !SCN_DISABLE_TYPE_UCHAR
3454
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3455
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3456
#endif
3457
#if !SCN_DISABLE_TYPE_USHORT
3458
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3459
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3460
#endif
3461
#if !SCN_DISABLE_TYPE_UINT
3462
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3463
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3464
#endif
3465
#if !SCN_DISABLE_TYPE_ULONG
3466
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3467
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3468
#endif
3469
#if !SCN_DISABLE_TYPE_ULONG_LONG
3470
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3471
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3472
#endif
3473
3474
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3475
3476
template <typename CharT>
3477
class reader_impl_for_int
3478
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3479
public:
3480
    constexpr reader_impl_for_int() = default;
3481
3482
    void check_specs_impl(const detail::format_specs& specs,
3483
                          reader_error_handler& eh)
3484
3.97M
    {
3485
3.97M
        detail::check_int_type_specs(specs, eh);
3486
3.97M
    }
scn::v3::impl::reader_impl_for_int<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
3.40M
    {
3485
3.40M
        detail::check_int_type_specs(specs, eh);
3486
3.40M
    }
scn::v3::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
567k
    {
3485
567k
        detail::check_int_type_specs(specs, eh);
3486
567k
    }
3487
3488
    template <typename Range, typename T>
3489
    auto read_default_with_base(Range range, T& value, int base)
3490
        -> scan_expected<ranges::const_iterator_t<Range>>
3491
1.10M
    {
3492
1.10M
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
1.10M
                                   .transform_error(make_eof_scan_error));
3494
3495
1.10M
        if constexpr (!std::is_signed_v<T>) {
3496
521k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
13.6k
                return unexpected_scan_error(
3498
13.6k
                    scan_error::invalid_scanned_value,
3499
13.6k
                    "Unexpected '-' sign when parsing an "
3500
13.6k
                    "unsigned value");
3501
13.6k
            }
3502
521k
        }
3503
3504
1.09M
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
2.10M
        SCN_TRY(after_digits_it,
3510
2.10M
                parse_integer_digits_without_thsep(
3511
2.10M
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
2.10M
                    prefix_result.parsed_base));
3513
3514
2.10M
        auto buf = make_contiguous_buffer(
3515
2.10M
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
2.10M
        SCN_TRY(result_it,
3517
907k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
907k
                                    prefix_result.parsed_base));
3519
3520
907k
        return ranges::next(prefix_result.iterator,
3521
907k
                            ranges::distance(buf.view().begin(), result_it));
3522
2.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
153k
        SCN_TRY(after_digits_it,
3510
153k
                parse_integer_digits_without_thsep(
3511
153k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
153k
                    prefix_result.parsed_base));
3513
3514
153k
        auto buf = make_contiguous_buffer(
3515
153k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
153k
        SCN_TRY(result_it,
3517
72.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.8k
                                    prefix_result.parsed_base));
3519
3520
72.8k
        return ranges::next(prefix_result.iterator,
3521
72.8k
                            ranges::distance(buf.view().begin(), result_it));
3522
153k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
88.4k
    {
3492
88.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
88.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
88.4k
        if constexpr (!std::is_signed_v<T>) {
3496
88.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
88.4k
                return unexpected_scan_error(
3498
88.4k
                    scan_error::invalid_scanned_value,
3499
88.4k
                    "Unexpected '-' sign when parsing an "
3500
88.4k
                    "unsigned value");
3501
88.4k
            }
3502
88.4k
        }
3503
3504
88.4k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
173k
        SCN_TRY(after_digits_it,
3510
173k
                parse_integer_digits_without_thsep(
3511
173k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
173k
                    prefix_result.parsed_base));
3513
3514
173k
        auto buf = make_contiguous_buffer(
3515
173k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
173k
        SCN_TRY(result_it,
3517
83.6k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
83.6k
                                    prefix_result.parsed_base));
3519
3520
83.6k
        return ranges::next(prefix_result.iterator,
3521
83.6k
                            ranges::distance(buf.view().begin(), result_it));
3522
173k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
89.9k
    {
3492
89.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
89.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
89.9k
        if constexpr (!std::is_signed_v<T>) {
3496
89.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
89.9k
                return unexpected_scan_error(
3498
89.9k
                    scan_error::invalid_scanned_value,
3499
89.9k
                    "Unexpected '-' sign when parsing an "
3500
89.9k
                    "unsigned value");
3501
89.9k
            }
3502
89.9k
        }
3503
3504
89.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
176k
        SCN_TRY(after_digits_it,
3510
176k
                parse_integer_digits_without_thsep(
3511
176k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
176k
                    prefix_result.parsed_base));
3513
3514
176k
        auto buf = make_contiguous_buffer(
3515
176k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
176k
        SCN_TRY(result_it,
3517
85.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.2k
                                    prefix_result.parsed_base));
3519
3520
85.2k
        return ranges::next(prefix_result.iterator,
3521
85.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
176k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
69.3k
    {
3492
69.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.3k
        if constexpr (!std::is_signed_v<T>) {
3496
69.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.13k
                return unexpected_scan_error(
3498
2.13k
                    scan_error::invalid_scanned_value,
3499
2.13k
                    "Unexpected '-' sign when parsing an "
3500
2.13k
                    "unsigned value");
3501
2.13k
            }
3502
69.3k
        }
3503
3504
67.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
132k
        SCN_TRY(after_digits_it,
3510
132k
                parse_integer_digits_without_thsep(
3511
132k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
132k
                    prefix_result.parsed_base));
3513
3514
132k
        auto buf = make_contiguous_buffer(
3515
132k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
132k
        SCN_TRY(result_it,
3517
64.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.0k
                                    prefix_result.parsed_base));
3519
3520
64.0k
        return ranges::next(prefix_result.iterator,
3521
64.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
132k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
77.1k
    {
3492
77.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.1k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.1k
        if constexpr (!std::is_signed_v<T>) {
3496
77.1k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.19k
                return unexpected_scan_error(
3498
2.19k
                    scan_error::invalid_scanned_value,
3499
2.19k
                    "Unexpected '-' sign when parsing an "
3500
2.19k
                    "unsigned value");
3501
2.19k
            }
3502
77.1k
        }
3503
3504
74.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
147k
        SCN_TRY(after_digits_it,
3510
147k
                parse_integer_digits_without_thsep(
3511
147k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
147k
                    prefix_result.parsed_base));
3513
3514
147k
        auto buf = make_contiguous_buffer(
3515
147k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
147k
        SCN_TRY(result_it,
3517
72.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.0k
                                    prefix_result.parsed_base));
3519
3520
72.0k
        return ranges::next(prefix_result.iterator,
3521
72.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
147k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.24k
                return unexpected_scan_error(
3498
2.24k
                    scan_error::invalid_scanned_value,
3499
2.24k
                    "Unexpected '-' sign when parsing an "
3500
2.24k
                    "unsigned value");
3501
2.24k
            }
3502
78.0k
        }
3503
3504
75.8k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
149k
        SCN_TRY(after_digits_it,
3510
149k
                parse_integer_digits_without_thsep(
3511
149k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
149k
                    prefix_result.parsed_base));
3513
3514
149k
        auto buf = make_contiguous_buffer(
3515
149k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
149k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
149k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.4k
        SCN_TRY(after_digits_it,
3510
23.4k
                parse_integer_digits_without_thsep(
3511
23.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.4k
                    prefix_result.parsed_base));
3513
3514
23.4k
        auto buf = make_contiguous_buffer(
3515
23.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.4k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
23.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.3k
    {
3492
12.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.3k
        if constexpr (!std::is_signed_v<T>) {
3496
12.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
12.3k
                return unexpected_scan_error(
3498
12.3k
                    scan_error::invalid_scanned_value,
3499
12.3k
                    "Unexpected '-' sign when parsing an "
3500
12.3k
                    "unsigned value");
3501
12.3k
            }
3502
12.3k
        }
3503
3504
12.3k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.6k
        SCN_TRY(after_digits_it,
3510
24.6k
                parse_integer_digits_without_thsep(
3511
24.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.6k
                    prefix_result.parsed_base));
3513
3514
24.6k
        auto buf = make_contiguous_buffer(
3515
24.6k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.6k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
24.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.5k
        SCN_TRY(after_digits_it,
3510
23.5k
                parse_integer_digits_without_thsep(
3511
23.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.5k
                    prefix_result.parsed_base));
3513
3514
23.5k
        auto buf = make_contiguous_buffer(
3515
23.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.5k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
23.5k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.2k
        SCN_TRY(after_digits_it,
3510
23.2k
                parse_integer_digits_without_thsep(
3511
23.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.2k
                    prefix_result.parsed_base));
3513
3514
23.2k
        auto buf = make_contiguous_buffer(
3515
23.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.2k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
23.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.3k
    {
3492
12.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.3k
        if constexpr (!std::is_signed_v<T>) {
3496
12.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
12.3k
        }
3503
3504
12.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.4k
        SCN_TRY(after_digits_it,
3510
24.4k
                parse_integer_digits_without_thsep(
3511
24.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.4k
                    prefix_result.parsed_base));
3513
3514
24.4k
        auto buf = make_contiguous_buffer(
3515
24.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.4k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
24.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.3k
        SCN_TRY(after_digits_it,
3510
23.3k
                parse_integer_digits_without_thsep(
3511
23.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.3k
                    prefix_result.parsed_base));
3513
3514
23.3k
        auto buf = make_contiguous_buffer(
3515
23.3k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.3k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
23.3k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
12.0k
        SCN_TRY(after_digits_it,
3510
12.0k
                parse_integer_digits_without_thsep(
3511
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
12.0k
                    prefix_result.parsed_base));
3513
3514
12.0k
        auto buf = make_contiguous_buffer(
3515
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
12.0k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
12.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.7k
        SCN_TRY(after_digits_it,
3510
11.7k
                parse_integer_digits_without_thsep(
3511
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.7k
                    prefix_result.parsed_base));
3513
3514
11.7k
        auto buf = make_contiguous_buffer(
3515
11.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.7k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
156k
        SCN_TRY(after_digits_it,
3510
156k
                parse_integer_digits_without_thsep(
3511
156k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
156k
                    prefix_result.parsed_base));
3513
3514
156k
        auto buf = make_contiguous_buffer(
3515
156k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
156k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
156k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
90.7k
    {
3492
90.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
90.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
90.7k
        if constexpr (!std::is_signed_v<T>) {
3496
90.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
90.7k
                return unexpected_scan_error(
3498
90.7k
                    scan_error::invalid_scanned_value,
3499
90.7k
                    "Unexpected '-' sign when parsing an "
3500
90.7k
                    "unsigned value");
3501
90.7k
            }
3502
90.7k
        }
3503
3504
90.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
181k
        SCN_TRY(after_digits_it,
3510
181k
                parse_integer_digits_without_thsep(
3511
181k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
181k
                    prefix_result.parsed_base));
3513
3514
181k
        auto buf = make_contiguous_buffer(
3515
181k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
181k
        SCN_TRY(result_it,
3517
85.3k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.3k
                                    prefix_result.parsed_base));
3519
3520
85.3k
        return ranges::next(prefix_result.iterator,
3521
85.3k
                            ranges::distance(buf.view().begin(), result_it));
3522
181k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
91.6k
    {
3492
91.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
91.6k
                                   .transform_error(make_eof_scan_error));
3494
3495
91.6k
        if constexpr (!std::is_signed_v<T>) {
3496
91.6k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
91.6k
                return unexpected_scan_error(
3498
91.6k
                    scan_error::invalid_scanned_value,
3499
91.6k
                    "Unexpected '-' sign when parsing an "
3500
91.6k
                    "unsigned value");
3501
91.6k
            }
3502
91.6k
        }
3503
3504
91.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
183k
        SCN_TRY(after_digits_it,
3510
183k
                parse_integer_digits_without_thsep(
3511
183k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
183k
                    prefix_result.parsed_base));
3513
3514
183k
        auto buf = make_contiguous_buffer(
3515
183k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
183k
        SCN_TRY(result_it,
3517
87.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
87.0k
                                    prefix_result.parsed_base));
3519
3520
87.0k
        return ranges::next(prefix_result.iterator,
3521
87.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
183k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
69.4k
    {
3492
69.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.4k
        if constexpr (!std::is_signed_v<T>) {
3496
69.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.15k
                return unexpected_scan_error(
3498
2.15k
                    scan_error::invalid_scanned_value,
3499
2.15k
                    "Unexpected '-' sign when parsing an "
3500
2.15k
                    "unsigned value");
3501
2.15k
            }
3502
69.4k
        }
3503
3504
67.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
134k
        SCN_TRY(after_digits_it,
3510
134k
                parse_integer_digits_without_thsep(
3511
134k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
134k
                    prefix_result.parsed_base));
3513
3514
134k
        auto buf = make_contiguous_buffer(
3515
134k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
134k
        SCN_TRY(result_it,
3517
64.1k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.1k
                                    prefix_result.parsed_base));
3519
3520
64.1k
        return ranges::next(prefix_result.iterator,
3521
64.1k
                            ranges::distance(buf.view().begin(), result_it));
3522
134k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
77.9k
    {
3492
77.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.9k
        if constexpr (!std::is_signed_v<T>) {
3496
77.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.23k
                return unexpected_scan_error(
3498
2.23k
                    scan_error::invalid_scanned_value,
3499
2.23k
                    "Unexpected '-' sign when parsing an "
3500
2.23k
                    "unsigned value");
3501
2.23k
            }
3502
77.9k
        }
3503
3504
75.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
72.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.2k
                                    prefix_result.parsed_base));
3519
3520
72.2k
        return ranges::next(prefix_result.iterator,
3521
72.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.2k
    {
3492
78.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.2k
        if constexpr (!std::is_signed_v<T>) {
3496
78.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.30k
                return unexpected_scan_error(
3498
2.30k
                    scan_error::invalid_scanned_value,
3499
2.30k
                    "Unexpected '-' sign when parsing an "
3500
2.30k
                    "unsigned value");
3501
2.30k
            }
3502
78.2k
        }
3503
3504
75.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
73.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
73.2k
                                    prefix_result.parsed_base));
3519
3520
73.2k
        return ranges::next(prefix_result.iterator,
3521
73.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
3523
3524
    template <typename Range, typename T>
3525
    auto read_default(Range range, T& value, detail::locale_ref loc)
3526
        -> scan_expected<ranges::const_iterator_t<Range>>
3527
1.10M
    {
3528
1.10M
        SCN_UNUSED(loc);
3529
1.10M
        return read_default_with_base(range, value, 10);
3530
1.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
90.7k
    {
3528
90.7k
        SCN_UNUSED(loc);
3529
90.7k
        return read_default_with_base(range, value, 10);
3530
90.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
91.6k
    {
3528
91.6k
        SCN_UNUSED(loc);
3529
91.6k
        return read_default_with_base(range, value, 10);
3530
91.6k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
69.4k
    {
3528
69.4k
        SCN_UNUSED(loc);
3529
69.4k
        return read_default_with_base(range, value, 10);
3530
69.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
77.9k
    {
3528
77.9k
        SCN_UNUSED(loc);
3529
77.9k
        return read_default_with_base(range, value, 10);
3530
77.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.2k
    {
3528
78.2k
        SCN_UNUSED(loc);
3529
78.2k
        return read_default_with_base(range, value, 10);
3530
78.2k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
88.4k
    {
3528
88.4k
        SCN_UNUSED(loc);
3529
88.4k
        return read_default_with_base(range, value, 10);
3530
88.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
89.9k
    {
3528
89.9k
        SCN_UNUSED(loc);
3529
89.9k
        return read_default_with_base(range, value, 10);
3530
89.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
69.3k
    {
3528
69.3k
        SCN_UNUSED(loc);
3529
69.3k
        return read_default_with_base(range, value, 10);
3530
69.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
77.1k
    {
3528
77.1k
        SCN_UNUSED(loc);
3529
77.1k
        return read_default_with_base(range, value, 10);
3530
77.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.3k
    {
3528
12.3k
        SCN_UNUSED(loc);
3529
12.3k
        return read_default_with_base(range, value, 10);
3530
12.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.3k
    {
3528
12.3k
        SCN_UNUSED(loc);
3529
12.3k
        return read_default_with_base(range, value, 10);
3530
12.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
3531
3532
    template <typename Range, typename T>
3533
    auto read_specs(Range range,
3534
                    const detail::format_specs& specs,
3535
                    T& value,
3536
                    detail::locale_ref loc)
3537
        -> scan_expected<ranges::const_iterator_t<Range>>
3538
3.92M
    {
3539
3.92M
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
3.92M
                                   .transform_error(make_eof_scan_error));
3541
3542
3.92M
        if (prefix_result.sign == sign_type::minus_sign) {
3543
204k
            if constexpr (!std::is_signed_v<T>) {
3544
152k
                return unexpected_scan_error(
3545
152k
                    scan_error::invalid_scanned_value,
3546
152k
                    "Unexpected '-' sign when parsing an "
3547
152k
                    "unsigned value");
3548
152k
            }
3549
152k
            else {
3550
152k
                if (specs.type ==
3551
152k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
152k
            }
3557
204k
        }
3558
3559
3.87M
        if (prefix_result.is_zero) {
3560
317k
            value = T{0};
3561
317k
            return std::next(prefix_result.iterator);
3562
317k
        }
3563
3564
3.55M
        if (SCN_LIKELY(!specs.localized)) {
3565
2.82M
            SCN_TRY(after_digits_it,
3566
2.52M
                    parse_integer_digits_without_thsep(
3567
2.52M
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
2.52M
                        prefix_result.parsed_base));
3569
3570
2.52M
            auto buf = make_contiguous_buffer(
3571
2.52M
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
2.52M
            SCN_TRY(result_it,
3573
2.19M
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
2.19M
                                        prefix_result.parsed_base));
3575
3576
2.19M
            return ranges::next(
3577
2.19M
                prefix_result.iterator,
3578
2.19M
                ranges::distance(buf.view().begin(), result_it));
3579
2.52M
        }
3580
3581
733k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
733k
            localized_number_formatting_options<CharT>{loc};
3586
733k
#endif
3587
3588
733k
        SCN_TRY(parse_digits_result,
3589
622k
                parse_integer_digits_with_thsep(
3590
622k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
622k
                    prefix_result.parsed_base, locale_options));
3592
622k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
622k
            parse_digits_result;
3594
3595
622k
        if (!thsep_indices.empty()) {
3596
9.11k
            if (auto e = check_thsep_grouping(
3597
9.11k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
9.11k
                    thsep_indices, locale_options.grouping);
3599
9.11k
                SCN_UNLIKELY(!e)) {
3600
4.49k
                return unexpected(e);
3601
4.49k
            }
3602
9.11k
        }
3603
3604
618k
        auto nothsep_source_view =
3605
618k
            std::basic_string_view<CharT>{nothsep_source};
3606
618k
        SCN_TRY(
3607
610k
            nothsep_source_it,
3608
610k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
610k
                                prefix_result.parsed_base));
3610
3611
610k
        return ranges::next(
3612
610k
            prefix_result.iterator,
3613
610k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
610k
                ranges::ssize(thsep_indices));
3615
618k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
245k
    {
3539
245k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
245k
                                   .transform_error(make_eof_scan_error));
3541
3542
245k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
245k
        if (prefix_result.is_zero) {
3560
25.5k
            value = T{0};
3561
25.5k
            return std::next(prefix_result.iterator);
3562
25.5k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
156k
                    parse_integer_digits_without_thsep(
3567
156k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
156k
                        prefix_result.parsed_base));
3569
3570
156k
            auto buf = make_contiguous_buffer(
3571
156k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
156k
            SCN_TRY(result_it,
3573
150k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
150k
                                        prefix_result.parsed_base));
3575
3576
150k
            return ranges::next(
3577
150k
                prefix_result.iterator,
3578
150k
                ranges::distance(buf.view().begin(), result_it));
3579
156k
        }
3580
3581
52.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.3k
            localized_number_formatting_options<CharT>{loc};
3586
52.3k
#endif
3587
3588
52.3k
        SCN_TRY(parse_digits_result,
3589
50.8k
                parse_integer_digits_with_thsep(
3590
50.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.8k
                    prefix_result.parsed_base, locale_options));
3592
50.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.8k
            parse_digits_result;
3594
3595
50.8k
        if (!thsep_indices.empty()) {
3596
790
            if (auto e = check_thsep_grouping(
3597
790
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
790
                    thsep_indices, locale_options.grouping);
3599
790
                SCN_UNLIKELY(!e)) {
3600
396
                return unexpected(e);
3601
396
            }
3602
790
        }
3603
3604
50.4k
        auto nothsep_source_view =
3605
50.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.4k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
50.4k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
32
    {
3539
32
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
32
                                   .transform_error(make_eof_scan_error));
3541
3542
32
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
32
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
32
        if (SCN_LIKELY(!specs.localized)) {
3565
32
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
244k
    {
3539
244k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
244k
                                   .transform_error(make_eof_scan_error));
3541
3542
244k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
244k
        if (prefix_result.is_zero) {
3560
25.3k
            value = T{0};
3561
25.3k
            return std::next(prefix_result.iterator);
3562
25.3k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
167k
                    parse_integer_digits_without_thsep(
3567
167k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
167k
                        prefix_result.parsed_base));
3569
3570
167k
            auto buf = make_contiguous_buffer(
3571
167k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
167k
            SCN_TRY(result_it,
3573
149k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
149k
                                        prefix_result.parsed_base));
3575
3576
149k
            return ranges::next(
3577
149k
                prefix_result.iterator,
3578
149k
                ranges::distance(buf.view().begin(), result_it));
3579
167k
        }
3580
3581
52.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.1k
            localized_number_formatting_options<CharT>{loc};
3586
52.1k
#endif
3587
3588
52.1k
        SCN_TRY(parse_digits_result,
3589
50.6k
                parse_integer_digits_with_thsep(
3590
50.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.6k
                    prefix_result.parsed_base, locale_options));
3592
50.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.6k
            parse_digits_result;
3594
3595
50.6k
        if (!thsep_indices.empty()) {
3596
788
            if (auto e = check_thsep_grouping(
3597
788
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
788
                    thsep_indices, locale_options.grouping);
3599
788
                SCN_UNLIKELY(!e)) {
3600
394
                return unexpected(e);
3601
394
            }
3602
788
        }
3603
3604
50.2k
        auto nothsep_source_view =
3605
50.2k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.2k
        SCN_TRY(
3607
48.7k
            nothsep_source_it,
3608
48.7k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.7k
                                prefix_result.parsed_base));
3610
3611
48.7k
        return ranges::next(
3612
48.7k
            prefix_result.iterator,
3613
48.7k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.7k
                ranges::ssize(thsep_indices));
3615
50.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
318k
    {
3539
318k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
318k
                                   .transform_error(make_eof_scan_error));
3541
3542
318k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
318k
        if (prefix_result.is_zero) {
3560
28.2k
            value = T{0};
3561
28.2k
            return std::next(prefix_result.iterator);
3562
28.2k
        }
3563
3564
290k
        if (SCN_LIKELY(!specs.localized)) {
3565
230k
            SCN_TRY(after_digits_it,
3566
217k
                    parse_integer_digits_without_thsep(
3567
217k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
217k
                        prefix_result.parsed_base));
3569
3570
217k
            auto buf = make_contiguous_buffer(
3571
217k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
217k
            SCN_TRY(result_it,
3573
213k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
213k
                                        prefix_result.parsed_base));
3575
3576
213k
            return ranges::next(
3577
213k
                prefix_result.iterator,
3578
213k
                ranges::distance(buf.view().begin(), result_it));
3579
217k
        }
3580
3581
60.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.2k
            localized_number_formatting_options<CharT>{loc};
3586
60.2k
#endif
3587
3588
60.2k
        SCN_TRY(parse_digits_result,
3589
58.3k
                parse_integer_digits_with_thsep(
3590
58.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.3k
                    prefix_result.parsed_base, locale_options));
3592
58.3k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.3k
            parse_digits_result;
3594
3595
58.3k
        if (!thsep_indices.empty()) {
3596
854
            if (auto e = check_thsep_grouping(
3597
854
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
854
                    thsep_indices, locale_options.grouping);
3599
854
                SCN_UNLIKELY(!e)) {
3600
460
                return unexpected(e);
3601
460
            }
3602
854
        }
3603
3604
57.9k
        auto nothsep_source_view =
3605
57.9k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.9k
        SCN_TRY(
3607
57.1k
            nothsep_source_it,
3608
57.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.1k
                                prefix_result.parsed_base));
3610
3611
57.1k
        return ranges::next(
3612
57.1k
            prefix_result.iterator,
3613
57.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.1k
                ranges::ssize(thsep_indices));
3615
57.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
274
    {
3539
274
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274
                                   .transform_error(make_eof_scan_error));
3541
3542
274
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
274
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
274
        if (SCN_LIKELY(!specs.localized)) {
3565
262
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
12
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
12
            localized_number_formatting_options<CharT>{loc};
3586
12
#endif
3587
3588
12
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
317k
    {
3539
317k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
317k
                                   .transform_error(make_eof_scan_error));
3541
3542
317k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
317k
        if (prefix_result.is_zero) {
3560
27.8k
            value = T{0};
3561
27.8k
            return std::next(prefix_result.iterator);
3562
27.8k
        }
3563
3564
289k
        if (SCN_LIKELY(!specs.localized)) {
3565
229k
            SCN_TRY(after_digits_it,
3566
228k
                    parse_integer_digits_without_thsep(
3567
228k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
228k
                        prefix_result.parsed_base));
3569
3570
228k
            auto buf = make_contiguous_buffer(
3571
228k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
228k
            SCN_TRY(result_it,
3573
212k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
212k
                                        prefix_result.parsed_base));
3575
3576
212k
            return ranges::next(
3577
212k
                prefix_result.iterator,
3578
212k
                ranges::distance(buf.view().begin(), result_it));
3579
228k
        }
3580
3581
60.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.0k
            localized_number_formatting_options<CharT>{loc};
3586
60.0k
#endif
3587
3588
60.0k
        SCN_TRY(parse_digits_result,
3589
58.1k
                parse_integer_digits_with_thsep(
3590
58.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.1k
                    prefix_result.parsed_base, locale_options));
3592
58.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.1k
            parse_digits_result;
3594
3595
58.1k
        if (!thsep_indices.empty()) {
3596
850
            if (auto e = check_thsep_grouping(
3597
850
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
850
                    thsep_indices, locale_options.grouping);
3599
850
                SCN_UNLIKELY(!e)) {
3600
456
                return unexpected(e);
3601
456
            }
3602
850
        }
3603
3604
57.6k
        auto nothsep_source_view =
3605
57.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.6k
        SCN_TRY(
3607
56.9k
            nothsep_source_it,
3608
56.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56.9k
                                prefix_result.parsed_base));
3610
3611
56.9k
        return ranges::next(
3612
56.9k
            prefix_result.iterator,
3613
56.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56.9k
                ranges::ssize(thsep_indices));
3615
57.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
324k
    {
3539
324k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
324k
                                   .transform_error(make_eof_scan_error));
3541
3542
324k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
324k
        if (prefix_result.is_zero) {
3560
28.5k
            value = T{0};
3561
28.5k
            return std::next(prefix_result.iterator);
3562
28.5k
        }
3563
3564
295k
        if (SCN_LIKELY(!specs.localized)) {
3565
234k
            SCN_TRY(after_digits_it,
3566
220k
                    parse_integer_digits_without_thsep(
3567
220k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
220k
                        prefix_result.parsed_base));
3569
3570
220k
            auto buf = make_contiguous_buffer(
3571
220k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
220k
            SCN_TRY(result_it,
3573
218k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
218k
                                        prefix_result.parsed_base));
3575
3576
218k
            return ranges::next(
3577
218k
                prefix_result.iterator,
3578
218k
                ranges::distance(buf.view().begin(), result_it));
3579
220k
        }
3580
3581
61.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.2k
            localized_number_formatting_options<CharT>{loc};
3586
61.2k
#endif
3587
3588
61.2k
        SCN_TRY(parse_digits_result,
3589
59.2k
                parse_integer_digits_with_thsep(
3590
59.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
59.2k
                    prefix_result.parsed_base, locale_options));
3592
59.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
59.2k
            parse_digits_result;
3594
3595
59.2k
        if (!thsep_indices.empty()) {
3596
914
            if (auto e = check_thsep_grouping(
3597
914
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
914
                    thsep_indices, locale_options.grouping);
3599
914
                SCN_UNLIKELY(!e)) {
3600
518
                return unexpected(e);
3601
518
            }
3602
914
        }
3603
3604
58.7k
        auto nothsep_source_view =
3605
58.7k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.7k
        SCN_TRY(
3607
58.2k
            nothsep_source_it,
3608
58.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
58.2k
                                prefix_result.parsed_base));
3610
3611
58.2k
        return ranges::next(
3612
58.2k
            prefix_result.iterator,
3613
58.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
58.2k
                ranges::ssize(thsep_indices));
3615
58.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
322k
    {
3539
322k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
322k
                                   .transform_error(make_eof_scan_error));
3541
3542
322k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
322k
        if (prefix_result.is_zero) {
3560
28.1k
            value = T{0};
3561
28.1k
            return std::next(prefix_result.iterator);
3562
28.1k
        }
3563
3564
294k
        if (SCN_LIKELY(!specs.localized)) {
3565
233k
            SCN_TRY(after_digits_it,
3566
233k
                    parse_integer_digits_without_thsep(
3567
233k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
233k
                        prefix_result.parsed_base));
3569
3570
233k
            auto buf = make_contiguous_buffer(
3571
233k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
233k
            SCN_TRY(result_it,
3573
217k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
217k
                                        prefix_result.parsed_base));
3575
3576
217k
            return ranges::next(
3577
217k
                prefix_result.iterator,
3578
217k
                ranges::distance(buf.view().begin(), result_it));
3579
233k
        }
3580
3581
61.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.0k
            localized_number_formatting_options<CharT>{loc};
3586
61.0k
#endif
3587
3588
61.0k
        SCN_TRY(parse_digits_result,
3589
58.9k
                parse_integer_digits_with_thsep(
3590
58.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.9k
                    prefix_result.parsed_base, locale_options));
3592
58.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.9k
            parse_digits_result;
3594
3595
58.9k
        if (!thsep_indices.empty()) {
3596
910
            if (auto e = check_thsep_grouping(
3597
910
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
910
                    thsep_indices, locale_options.grouping);
3599
910
                SCN_UNLIKELY(!e)) {
3600
514
                return unexpected(e);
3601
514
            }
3602
910
        }
3603
3604
58.4k
        auto nothsep_source_view =
3605
58.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.4k
        SCN_TRY(
3607
57.9k
            nothsep_source_it,
3608
57.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.9k
                                prefix_result.parsed_base));
3610
3611
57.9k
        return ranges::next(
3612
57.9k
            prefix_result.iterator,
3613
57.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.9k
                ranges::ssize(thsep_indices));
3615
58.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
241k
    {
3539
241k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
241k
                                   .transform_error(make_eof_scan_error));
3541
3542
241k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.01k
            if constexpr (!std::is_signed_v<T>) {
3544
8.01k
                return unexpected_scan_error(
3545
8.01k
                    scan_error::invalid_scanned_value,
3546
8.01k
                    "Unexpected '-' sign when parsing an "
3547
8.01k
                    "unsigned value");
3548
8.01k
            }
3549
8.01k
            else {
3550
8.01k
                if (specs.type ==
3551
8.01k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.01k
                    return unexpected_scan_error(
3553
8.01k
                        scan_error::invalid_scanned_value,
3554
8.01k
                        "'u'-option disallows negative values");
3555
8.01k
                }
3556
8.01k
            }
3557
8.01k
        }
3558
3559
233k
        if (prefix_result.is_zero) {
3560
24.3k
            value = T{0};
3561
24.3k
            return std::next(prefix_result.iterator);
3562
24.3k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
155k
                    parse_integer_digits_without_thsep(
3567
155k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
155k
                        prefix_result.parsed_base));
3569
3570
155k
            auto buf = make_contiguous_buffer(
3571
155k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
155k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
155k
        }
3580
3581
45.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
45.1k
            localized_number_formatting_options<CharT>{loc};
3586
45.1k
#endif
3587
3588
45.1k
        SCN_TRY(parse_digits_result,
3589
44.1k
                parse_integer_digits_with_thsep(
3590
44.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
44.1k
                    prefix_result.parsed_base, locale_options));
3592
44.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
44.1k
            parse_digits_result;
3594
3595
44.1k
        if (!thsep_indices.empty()) {
3596
596
            if (auto e = check_thsep_grouping(
3597
596
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
596
                    thsep_indices, locale_options.grouping);
3599
596
                SCN_UNLIKELY(!e)) {
3600
220
                return unexpected(e);
3601
220
            }
3602
596
        }
3603
3604
43.8k
        auto nothsep_source_view =
3605
43.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.8k
        SCN_TRY(
3607
43.1k
            nothsep_source_it,
3608
43.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
43.1k
                                prefix_result.parsed_base));
3610
3611
43.1k
        return ranges::next(
3612
43.1k
            prefix_result.iterator,
3613
43.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
43.1k
                ranges::ssize(thsep_indices));
3615
43.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
240k
    {
3539
240k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
240k
                                   .transform_error(make_eof_scan_error));
3541
3542
240k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.00k
            if constexpr (!std::is_signed_v<T>) {
3544
8.00k
                return unexpected_scan_error(
3545
8.00k
                    scan_error::invalid_scanned_value,
3546
8.00k
                    "Unexpected '-' sign when parsing an "
3547
8.00k
                    "unsigned value");
3548
8.00k
            }
3549
8.00k
            else {
3550
8.00k
                if (specs.type ==
3551
8.00k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.00k
                    return unexpected_scan_error(
3553
8.00k
                        scan_error::invalid_scanned_value,
3554
8.00k
                        "'u'-option disallows negative values");
3555
8.00k
                }
3556
8.00k
            }
3557
8.00k
        }
3558
3559
232k
        if (prefix_result.is_zero) {
3560
24.0k
            value = T{0};
3561
24.0k
            return std::next(prefix_result.iterator);
3562
24.0k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
163k
                    parse_integer_digits_without_thsep(
3567
163k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
163k
                        prefix_result.parsed_base));
3569
3570
163k
            auto buf = make_contiguous_buffer(
3571
163k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
163k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
163k
        }
3580
3581
44.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
44.9k
            localized_number_formatting_options<CharT>{loc};
3586
44.9k
#endif
3587
3588
44.9k
        SCN_TRY(parse_digits_result,
3589
43.9k
                parse_integer_digits_with_thsep(
3590
43.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
43.9k
                    prefix_result.parsed_base, locale_options));
3592
43.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
43.9k
            parse_digits_result;
3594
3595
43.9k
        if (!thsep_indices.empty()) {
3596
594
            if (auto e = check_thsep_grouping(
3597
594
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
594
                    thsep_indices, locale_options.grouping);
3599
594
                SCN_UNLIKELY(!e)) {
3600
218
                return unexpected(e);
3601
218
            }
3602
594
        }
3603
3604
43.6k
        auto nothsep_source_view =
3605
43.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.6k
        SCN_TRY(
3607
42.9k
            nothsep_source_it,
3608
42.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
42.9k
                                prefix_result.parsed_base));
3610
3611
42.9k
        return ranges::next(
3612
42.9k
            prefix_result.iterator,
3613
42.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
42.9k
                ranges::ssize(thsep_indices));
3615
43.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
274k
    {
3539
274k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274k
                                   .transform_error(make_eof_scan_error));
3541
3542
274k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.27k
            if constexpr (!std::is_signed_v<T>) {
3544
8.27k
                return unexpected_scan_error(
3545
8.27k
                    scan_error::invalid_scanned_value,
3546
8.27k
                    "Unexpected '-' sign when parsing an "
3547
8.27k
                    "unsigned value");
3548
8.27k
            }
3549
8.27k
            else {
3550
8.27k
                if (specs.type ==
3551
8.27k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.27k
                    return unexpected_scan_error(
3553
8.27k
                        scan_error::invalid_scanned_value,
3554
8.27k
                        "'u'-option disallows negative values");
3555
8.27k
                }
3556
8.27k
            }
3557
8.27k
        }
3558
3559
266k
        if (prefix_result.is_zero) {
3560
26.2k
            value = T{0};
3561
26.2k
            return std::next(prefix_result.iterator);
3562
26.2k
        }
3563
3564
240k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
180k
                    parse_integer_digits_without_thsep(
3567
180k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
180k
                        prefix_result.parsed_base));
3569
3570
180k
            auto buf = make_contiguous_buffer(
3571
180k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
180k
            SCN_TRY(result_it,
3573
179k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
179k
                                        prefix_result.parsed_base));
3575
3576
179k
            return ranges::next(
3577
179k
                prefix_result.iterator,
3578
179k
                ranges::distance(buf.view().begin(), result_it));
3579
180k
        }
3580
3581
50.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.3k
            localized_number_formatting_options<CharT>{loc};
3586
50.3k
#endif
3587
3588
50.3k
        SCN_TRY(parse_digits_result,
3589
49.1k
                parse_integer_digits_with_thsep(
3590
49.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.1k
                    prefix_result.parsed_base, locale_options));
3592
49.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.1k
            parse_digits_result;
3594
3595
49.1k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
48.8k
        auto nothsep_source_view =
3605
48.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.8k
        SCN_TRY(
3607
48.4k
            nothsep_source_it,
3608
48.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.4k
                                prefix_result.parsed_base));
3610
3611
48.4k
        return ranges::next(
3612
48.4k
            prefix_result.iterator,
3613
48.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.4k
                ranges::ssize(thsep_indices));
3615
48.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
274
    {
3539
274
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274
                                   .transform_error(make_eof_scan_error));
3541
3542
274
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
274
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
274
        if (SCN_LIKELY(!specs.localized)) {
3565
262
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
12
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
12
            localized_number_formatting_options<CharT>{loc};
3586
12
#endif
3587
3588
12
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
273k
    {
3539
273k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
273k
                                   .transform_error(make_eof_scan_error));
3541
3542
273k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.26k
            if constexpr (!std::is_signed_v<T>) {
3544
8.26k
                return unexpected_scan_error(
3545
8.26k
                    scan_error::invalid_scanned_value,
3546
8.26k
                    "Unexpected '-' sign when parsing an "
3547
8.26k
                    "unsigned value");
3548
8.26k
            }
3549
8.26k
            else {
3550
8.26k
                if (specs.type ==
3551
8.26k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.26k
                    return unexpected_scan_error(
3553
8.26k
                        scan_error::invalid_scanned_value,
3554
8.26k
                        "'u'-option disallows negative values");
3555
8.26k
                }
3556
8.26k
            }
3557
8.26k
        }
3558
3559
265k
        if (prefix_result.is_zero) {
3560
25.9k
            value = T{0};
3561
25.9k
            return std::next(prefix_result.iterator);
3562
25.9k
        }
3563
3564
239k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
189k
                    parse_integer_digits_without_thsep(
3567
189k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
189k
                        prefix_result.parsed_base));
3569
3570
189k
            auto buf = make_contiguous_buffer(
3571
189k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
189k
            SCN_TRY(result_it,
3573
178k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
178k
                                        prefix_result.parsed_base));
3575
3576
178k
            return ranges::next(
3577
178k
                prefix_result.iterator,
3578
178k
                ranges::distance(buf.view().begin(), result_it));
3579
189k
        }
3580
3581
50.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.1k
            localized_number_formatting_options<CharT>{loc};
3586
50.1k
#endif
3587
3588
50.1k
        SCN_TRY(parse_digits_result,
3589
48.8k
                parse_integer_digits_with_thsep(
3590
48.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
48.8k
                    prefix_result.parsed_base, locale_options));
3592
48.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
48.8k
            parse_digits_result;
3594
3595
48.8k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
48.6k
        auto nothsep_source_view =
3605
48.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.6k
        SCN_TRY(
3607
48.2k
            nothsep_source_it,
3608
48.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.2k
                                prefix_result.parsed_base));
3610
3611
48.2k
        return ranges::next(
3612
48.2k
            prefix_result.iterator,
3613
48.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.2k
                ranges::ssize(thsep_indices));
3615
48.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
248
    {
3539
248
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
248
                                   .transform_error(make_eof_scan_error));
3541
3542
248
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
248
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
248
        if (SCN_LIKELY(!specs.localized)) {
3565
248
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
872
    {
3539
872
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
872
                                   .transform_error(make_eof_scan_error));
3541
3542
872
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
872
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
872
        if (SCN_LIKELY(!specs.localized)) {
3565
872
            SCN_TRY(after_digits_it,
3566
872
                    parse_integer_digits_without_thsep(
3567
872
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
872
                        prefix_result.parsed_base));
3569
3570
872
            auto buf = make_contiguous_buffer(
3571
872
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
872
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
872
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
277k
    {
3539
277k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
277k
                                   .transform_error(make_eof_scan_error));
3541
3542
277k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.46k
            if constexpr (!std::is_signed_v<T>) {
3544
8.46k
                return unexpected_scan_error(
3545
8.46k
                    scan_error::invalid_scanned_value,
3546
8.46k
                    "Unexpected '-' sign when parsing an "
3547
8.46k
                    "unsigned value");
3548
8.46k
            }
3549
8.46k
            else {
3550
8.46k
                if (specs.type ==
3551
8.46k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.46k
                    return unexpected_scan_error(
3553
8.46k
                        scan_error::invalid_scanned_value,
3554
8.46k
                        "'u'-option disallows negative values");
3555
8.46k
                }
3556
8.46k
            }
3557
8.46k
        }
3558
3559
269k
        if (prefix_result.is_zero) {
3560
26.3k
            value = T{0};
3561
26.3k
            return std::next(prefix_result.iterator);
3562
26.3k
        }
3563
3564
242k
        if (SCN_LIKELY(!specs.localized)) {
3565
191k
            SCN_TRY(after_digits_it,
3566
182k
                    parse_integer_digits_without_thsep(
3567
182k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
182k
                        prefix_result.parsed_base));
3569
3570
182k
            auto buf = make_contiguous_buffer(
3571
182k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
182k
            SCN_TRY(result_it,
3573
181k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
181k
                                        prefix_result.parsed_base));
3575
3576
181k
            return ranges::next(
3577
181k
                prefix_result.iterator,
3578
181k
                ranges::distance(buf.view().begin(), result_it));
3579
182k
        }
3580
3581
50.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.9k
            localized_number_formatting_options<CharT>{loc};
3586
50.9k
#endif
3587
3588
50.9k
        SCN_TRY(parse_digits_result,
3589
49.6k
                parse_integer_digits_with_thsep(
3590
49.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.6k
                    prefix_result.parsed_base, locale_options));
3592
49.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.6k
            parse_digits_result;
3594
3595
49.6k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
49.3k
        auto nothsep_source_view =
3605
49.3k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.3k
        SCN_TRY(
3607
49.1k
            nothsep_source_it,
3608
49.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
49.1k
                                prefix_result.parsed_base));
3610
3611
49.1k
        return ranges::next(
3612
49.1k
            prefix_result.iterator,
3613
49.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
49.1k
                ranges::ssize(thsep_indices));
3615
49.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
276k
    {
3539
276k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
276k
                                   .transform_error(make_eof_scan_error));
3541
3542
276k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.44k
            if constexpr (!std::is_signed_v<T>) {
3544
8.44k
                return unexpected_scan_error(
3545
8.44k
                    scan_error::invalid_scanned_value,
3546
8.44k
                    "Unexpected '-' sign when parsing an "
3547
8.44k
                    "unsigned value");
3548
8.44k
            }
3549
8.44k
            else {
3550
8.44k
                if (specs.type ==
3551
8.44k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.44k
                    return unexpected_scan_error(
3553
8.44k
                        scan_error::invalid_scanned_value,
3554
8.44k
                        "'u'-option disallows negative values");
3555
8.44k
                }
3556
8.44k
            }
3557
8.44k
        }
3558
3559
267k
        if (prefix_result.is_zero) {
3560
26.0k
            value = T{0};
3561
26.0k
            return std::next(prefix_result.iterator);
3562
26.0k
        }
3563
3564
241k
        if (SCN_LIKELY(!specs.localized)) {
3565
190k
            SCN_TRY(after_digits_it,
3566
190k
                    parse_integer_digits_without_thsep(
3567
190k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
190k
                        prefix_result.parsed_base));
3569
3570
190k
            auto buf = make_contiguous_buffer(
3571
190k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
190k
            SCN_TRY(result_it,
3573
180k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
180k
                                        prefix_result.parsed_base));
3575
3576
180k
            return ranges::next(
3577
180k
                prefix_result.iterator,
3578
180k
                ranges::distance(buf.view().begin(), result_it));
3579
190k
        }
3580
3581
50.7k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.7k
            localized_number_formatting_options<CharT>{loc};
3586
50.7k
#endif
3587
3588
50.7k
        SCN_TRY(parse_digits_result,
3589
49.4k
                parse_integer_digits_with_thsep(
3590
49.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.4k
                    prefix_result.parsed_base, locale_options));
3592
49.4k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.4k
            parse_digits_result;
3594
3595
49.4k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
49.1k
        auto nothsep_source_view =
3605
49.1k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.1k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
49.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.0k
            SCN_TRY(after_digits_it,
3566
464
                    parse_integer_digits_without_thsep(
3567
464
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
464
                        prefix_result.parsed_base));
3569
3570
464
            auto buf = make_contiguous_buffer(
3571
464
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
464
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
464
        }
3580
3581
7.81k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.81k
            localized_number_formatting_options<CharT>{loc};
3586
7.81k
#endif
3587
3588
7.81k
        SCN_TRY(parse_digits_result,
3589
132
                parse_integer_digits_with_thsep(
3590
132
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
132
                    prefix_result.parsed_base, locale_options));
3592
132
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
132
            parse_digits_result;
3594
3595
132
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
10
    {
3539
10
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
10
                                   .transform_error(make_eof_scan_error));
3541
3542
10
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
10
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
10
        if (SCN_LIKELY(!specs.localized)) {
3565
10
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.3k
    {
3539
47.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.3k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.3k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
47.3k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
47.3k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.5k
            SCN_TRY(after_digits_it,
3566
39.4k
                    parse_integer_digits_without_thsep(
3567
39.4k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.4k
                        prefix_result.parsed_base));
3569
3570
39.4k
            auto buf = make_contiguous_buffer(
3571
39.4k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.4k
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
39.4k
        }
3580
3581
7.83k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.83k
            localized_number_formatting_options<CharT>{loc};
3586
7.83k
#endif
3587
3588
7.83k
        SCN_TRY(parse_digits_result,
3589
132
                parse_integer_digits_with_thsep(
3590
132
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
132
                    prefix_result.parsed_base, locale_options));
3592
132
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
132
            parse_digits_result;
3594
3595
132
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
452
                    parse_integer_digits_without_thsep(
3567
452
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
452
                        prefix_result.parsed_base));
3569
3570
452
            auto buf = make_contiguous_buffer(
3571
452
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
452
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
452
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
128
                parse_integer_digits_with_thsep(
3590
128
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
128
                    prefix_result.parsed_base, locale_options));
3592
128
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
128
            parse_digits_result;
3594
3595
128
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
38.9k
                    parse_integer_digits_without_thsep(
3567
38.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.9k
                        prefix_result.parsed_base));
3569
3570
38.9k
            auto buf = make_contiguous_buffer(
3571
38.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.9k
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
38.9k
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
128
                parse_integer_digits_with_thsep(
3590
128
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
128
                    prefix_result.parsed_base, locale_options));
3592
128
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
128
            parse_digits_result;
3594
3595
128
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
494
                    parse_integer_digits_without_thsep(
3567
494
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
494
                        prefix_result.parsed_base));
3569
3570
494
            auto buf = make_contiguous_buffer(
3571
494
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
494
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
494
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
146
                parse_integer_digits_with_thsep(
3590
146
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
146
                    prefix_result.parsed_base, locale_options));
3592
146
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
146
            parse_digits_result;
3594
3595
146
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.0k
                    parse_integer_digits_without_thsep(
3567
39.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.0k
                        prefix_result.parsed_base));
3569
3570
39.0k
            auto buf = make_contiguous_buffer(
3571
39.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.0k
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
39.0k
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
146
                parse_integer_digits_with_thsep(
3590
146
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
146
                    prefix_result.parsed_base, locale_options));
3592
146
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
146
            parse_digits_result;
3594
3595
146
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
378
                    parse_integer_digits_without_thsep(
3567
378
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
378
                        prefix_result.parsed_base));
3569
3570
378
            auto buf = make_contiguous_buffer(
3571
378
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
378
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
378
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
102
                parse_integer_digits_with_thsep(
3590
102
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
102
                    prefix_result.parsed_base, locale_options));
3592
102
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
102
            parse_digits_result;
3594
3595
102
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
38.7k
                    parse_integer_digits_without_thsep(
3567
38.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.7k
                        prefix_result.parsed_base));
3569
3570
38.7k
            auto buf = make_contiguous_buffer(
3571
38.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.7k
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
38.7k
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
102
                parse_integer_digits_with_thsep(
3590
102
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
102
                    prefix_result.parsed_base, locale_options));
3592
102
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
102
            parse_digits_result;
3594
3595
102
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
384
                    parse_integer_digits_without_thsep(
3567
384
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
384
                        prefix_result.parsed_base));
3569
3570
384
            auto buf = make_contiguous_buffer(
3571
384
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
384
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
384
        }
3580
3581
7.76k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.76k
            localized_number_formatting_options<CharT>{loc};
3586
7.76k
#endif
3587
3588
7.76k
        SCN_TRY(parse_digits_result,
3589
104
                parse_integer_digits_with_thsep(
3590
104
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
104
                    prefix_result.parsed_base, locale_options));
3592
104
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
104
            parse_digits_result;
3594
3595
104
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
10
    {
3539
10
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
10
                                   .transform_error(make_eof_scan_error));
3541
3542
10
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
10
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
10
        if (SCN_LIKELY(!specs.localized)) {
3565
10
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.3k
    {
3539
47.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.3k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.3k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
47.0k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.2k
            SCN_TRY(after_digits_it,
3566
39.2k
                    parse_integer_digits_without_thsep(
3567
39.2k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.2k
                        prefix_result.parsed_base));
3569
3570
39.2k
            auto buf = make_contiguous_buffer(
3571
39.2k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.2k
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
39.2k
        }
3580
3581
7.77k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.77k
            localized_number_formatting_options<CharT>{loc};
3586
7.77k
#endif
3587
3588
7.77k
        SCN_TRY(parse_digits_result,
3589
104
                parse_integer_digits_with_thsep(
3590
104
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
104
                    prefix_result.parsed_base, locale_options));
3592
104
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
104
            parse_digits_result;
3594
3595
104
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
10
    {
3539
10
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
10
                                   .transform_error(make_eof_scan_error));
3541
3542
10
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
10
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
10
        if (SCN_LIKELY(!specs.localized)) {
3565
10
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
1.00k
    {
3539
1.00k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
1.00k
                                   .transform_error(make_eof_scan_error));
3541
3542
1.00k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
1.00k
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
1.00k
        if (SCN_LIKELY(!specs.localized)) {
3565
1.00k
            SCN_TRY(after_digits_it,
3566
1.00k
                    parse_integer_digits_without_thsep(
3567
1.00k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
1.00k
                        prefix_result.parsed_base));
3569
3570
1.00k
            auto buf = make_contiguous_buffer(
3571
1.00k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
1.00k
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
1.00k
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
406
                    parse_integer_digits_without_thsep(
3567
406
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
406
                        prefix_result.parsed_base));
3569
3570
406
            auto buf = make_contiguous_buffer(
3571
406
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
406
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
406
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
112
                parse_integer_digits_with_thsep(
3590
112
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
112
                    prefix_result.parsed_base, locale_options));
3592
112
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
112
            parse_digits_result;
3594
3595
112
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
38.8k
                    parse_integer_digits_without_thsep(
3567
38.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.8k
                        prefix_result.parsed_base));
3569
3570
38.8k
            auto buf = make_contiguous_buffer(
3571
38.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.8k
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
38.8k
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
112
                parse_integer_digits_with_thsep(
3590
112
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
112
                    prefix_result.parsed_base, locale_options));
3592
112
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
112
            parse_digits_result;
3594
3595
112
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
3616
};
3617
3618
/////////////////////////////////////////////////////////////////
3619
// Floating-point reader
3620
/////////////////////////////////////////////////////////////////
3621
3622
struct float_reader_base {
3623
    enum options_type {
3624
        allow_hex = 1,
3625
        allow_scientific = 2,
3626
        allow_fixed = 4,
3627
        allow_thsep = 8
3628
    };
3629
3630
    enum class float_kind {
3631
        tbd = 0,
3632
        generic,             // fixed or scientific
3633
        fixed,               // xxx.yyy
3634
        scientific,          // xxx.yyyEzzz
3635
        hex_without_prefix,  // xxx.yyypzzz
3636
        hex_with_prefix,     // 0Xxxx.yyypzzz
3637
        inf_short,           // inf
3638
        inf_long,            // infinity
3639
        nan_simple,          // nan
3640
        nan_with_payload,    // nan(xxx)
3641
    };
3642
3643
1.51M
    constexpr float_reader_base() = default;
3644
3.76M
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3645
3646
protected:
3647
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3648
};
3649
3650
template <typename CharT>
3651
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3652
    using numeric_base = numeric_reader<CharT>;
3653
3654
public:
3655
    using char_type = CharT;
3656
3657
1.51M
    constexpr float_reader() = default;
scn::v3::impl::float_reader<char>::float_reader()
Line
Count
Source
3657
1.37M
    constexpr float_reader() = default;
scn::v3::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3657
134k
    constexpr float_reader() = default;
3658
3659
3.76M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3659
3.32M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3659
431k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3660
3661
    template <typename Range>
3662
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3663
        -> scan_expected<ranges::const_iterator_t<Range>>
3664
4.22M
    {
3665
4.22M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
4.22M
        return read_source_impl(range);
3671
4.22M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
1.86M
    {
3665
1.86M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
1.86M
        return read_source_impl(range);
3671
1.86M
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
254
    {
3665
254
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
254
        return read_source_impl(range);
3671
254
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
1.88M
    {
3665
1.88M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
1.88M
        return read_source_impl(range);
3671
1.88M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
238k
    {
3665
238k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
238k
        return read_source_impl(range);
3671
238k
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
10
    {
3665
10
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
10
        return read_source_impl(range);
3671
10
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
239k
    {
3665
239k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
239k
        return read_source_impl(range);
3671
239k
    }
3672
3673
#if !SCN_DISABLE_LOCALE
3674
    template <typename Range>
3675
    SCN_NODISCARD auto read_source_localized(Range range,
3676
                                             detail::locale_ref loc)
3677
        -> scan_expected<ranges::const_iterator_t<Range>>
3678
1.05M
    {
3679
1.05M
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
1.05M
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
1.05M
        return read_source_impl(range);
3685
1.05M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
486k
    {
3679
486k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
486k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
486k
        return read_source_impl(range);
3685
486k
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
12
    {
3679
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
12
        return read_source_impl(range);
3685
12
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
474k
    {
3679
474k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
474k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
474k
        return read_source_impl(range);
3685
474k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
44.7k
    {
3679
44.7k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
44.7k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
44.7k
        return read_source_impl(range);
3685
44.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
44.8k
    {
3679
44.8k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
44.8k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
44.8k
        return read_source_impl(range);
3685
44.8k
    }
3686
#endif
3687
3688
    template <typename T>
3689
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3690
4.80M
    {
3691
4.80M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
4.80M
        const std::ptrdiff_t sign_len =
3694
4.80M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
4.80M
        SCN_TRY(n, parse_value_impl(value));
3697
4.62M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
4.80M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<float>(float&)
Line
Count
Source
3690
1.44M
    {
3691
1.44M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.44M
        const std::ptrdiff_t sign_len =
3694
1.44M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.44M
        SCN_TRY(n, parse_value_impl(value));
3697
1.41M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.44M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3690
1.55M
    {
3691
1.55M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.55M
        const std::ptrdiff_t sign_len =
3694
1.55M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.55M
        SCN_TRY(n, parse_value_impl(value));
3697
1.54M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.55M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<long double>(long double&)
Line
Count
Source
3690
1.57M
    {
3691
1.57M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.57M
        const std::ptrdiff_t sign_len =
3694
1.57M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.57M
        SCN_TRY(n, parse_value_impl(value));
3697
1.56M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.57M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<float>(float&)
Line
Count
Source
3690
75.0k
    {
3691
75.0k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
75.0k
        const std::ptrdiff_t sign_len =
3694
75.0k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
75.0k
        SCN_TRY(n, parse_value_impl(value));
3697
32.8k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
75.0k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3690
76.1k
    {
3691
76.1k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
76.1k
        const std::ptrdiff_t sign_len =
3694
76.1k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
76.1k
        SCN_TRY(n, parse_value_impl(value));
3697
33.0k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
76.1k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
Line
Count
Source
3690
75.1k
    {
3691
75.1k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
75.1k
        const std::ptrdiff_t sign_len =
3694
75.1k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
75.1k
        SCN_TRY(n, parse_value_impl(value));
3697
33.3k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
75.1k
    }
3699
3700
private:
3701
    template <typename Range>
3702
    auto read_source_impl(Range range)
3703
        -> scan_expected<ranges::const_iterator_t<Range>>
3704
5.27M
    {
3705
5.27M
        SCN_TRY(sign_result,
3706
5.27M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
5.27M
        auto it = sign_result.first;
3708
5.27M
        m_sign = sign_result.second;
3709
3710
5.27M
        auto digits_begin = it;
3711
5.27M
        auto r = ranges::subrange{it, range.end()};
3712
5.27M
        if constexpr (ranges::contiguous_range<Range> &&
3713
5.27M
                      ranges::sized_range<Range>) {
3714
2.64M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.63M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
2.64M
            else {
3724
2.64M
                auto cb = [&](const auto& rr)
3725
2.64M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.77M
                    auto res = read_all(rr);
3727
1.77M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.30k
                        return unexpected_scan_error(
3729
1.30k
                            scan_error::invalid_scanned_value,
3730
1.30k
                            "Invalid float value");
3731
1.30k
                    }
3732
1.77M
                    return res;
3733
1.77M
                };
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
1.62M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.62M
                    auto res = read_all(rr);
3727
1.62M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.24k
                        return unexpected_scan_error(
3729
1.24k
                            scan_error::invalid_scanned_value,
3730
1.24k
                            "Invalid float value");
3731
1.24k
                    }
3732
1.61M
                    return res;
3733
1.62M
                };
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
158k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
158k
                    auto res = read_all(rr);
3727
158k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
63
                        return unexpected_scan_error(
3729
63
                            scan_error::invalid_scanned_value,
3730
63
                            "Invalid float value");
3731
63
                    }
3732
157k
                    return res;
3733
158k
                };
3734
2.64M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.48M
            }
3736
2.64M
        }
3737
2.63M
        else {
3738
2.63M
            SCN_TRY_ASSIGN(
3739
2.31M
                it,
3740
2.31M
                do_read_source_impl(
3741
2.31M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.31M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.31M
        }
3744
3745
4.80M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
4.80M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
4.80M
            m_kind != float_kind::nan_simple &&
3749
4.80M
            m_kind != float_kind::nan_with_payload) {
3750
4.54M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
4.54M
        }
3752
3753
4.80M
        handle_separators();
3754
3755
4.80M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
4.80M
        return it;
3768
4.80M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
2.34M
    {
3705
2.34M
        SCN_TRY(sign_result,
3706
2.34M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.34M
        auto it = sign_result.first;
3708
2.34M
        m_sign = sign_result.second;
3709
3710
2.34M
        auto digits_begin = it;
3711
2.34M
        auto r = ranges::subrange{it, range.end()};
3712
2.34M
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.34M
                      ranges::sized_range<Range>) {
3714
2.34M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.34M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
2.34M
                SCN_TRY_ASSIGN(
3717
2.34M
                    it,
3718
2.34M
                    do_read_source_impl(
3719
2.34M
                        r,
3720
2.34M
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
2.34M
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
2.34M
            }
3723
2.34M
            else {
3724
2.34M
                auto cb = [&](const auto& rr)
3725
2.34M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
2.34M
                    auto res = read_all(rr);
3727
2.34M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
2.34M
                        return unexpected_scan_error(
3729
2.34M
                            scan_error::invalid_scanned_value,
3730
2.34M
                            "Invalid float value");
3731
2.34M
                    }
3732
2.34M
                    return res;
3733
2.34M
                };
3734
2.34M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.34M
            }
3736
2.34M
        }
3737
2.34M
        else {
3738
2.34M
            SCN_TRY_ASSIGN(
3739
2.26M
                it,
3740
2.26M
                do_read_source_impl(
3741
2.26M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.26M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.26M
        }
3744
3745
2.26M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.26M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.26M
            m_kind != float_kind::nan_simple &&
3749
2.26M
            m_kind != float_kind::nan_with_payload) {
3750
2.13M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.13M
        }
3752
3753
2.26M
        handle_separators();
3754
3755
2.26M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.26M
        return it;
3768
2.26M
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
266
    {
3705
266
        SCN_TRY(sign_result,
3706
266
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
266
        auto it = sign_result.first;
3708
266
        m_sign = sign_result.second;
3709
3710
266
        auto digits_begin = it;
3711
266
        auto r = ranges::subrange{it, range.end()};
3712
266
        if constexpr (ranges::contiguous_range<Range> &&
3713
266
                      ranges::sized_range<Range>) {
3714
266
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
266
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
266
                SCN_TRY_ASSIGN(
3717
266
                    it,
3718
266
                    do_read_source_impl(
3719
266
                        r,
3720
266
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
266
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
266
            }
3723
266
            else {
3724
266
                auto cb = [&](const auto& rr)
3725
266
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
266
                    auto res = read_all(rr);
3727
266
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
266
                        return unexpected_scan_error(
3729
266
                            scan_error::invalid_scanned_value,
3730
266
                            "Invalid float value");
3731
266
                    }
3732
266
                    return res;
3733
266
                };
3734
266
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
266
            }
3736
266
        }
3737
266
        else {
3738
266
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
2.35M
    {
3705
2.35M
        SCN_TRY(sign_result,
3706
2.35M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.35M
        auto it = sign_result.first;
3708
2.35M
        m_sign = sign_result.second;
3709
3710
2.35M
        auto digits_begin = it;
3711
2.35M
        auto r = ranges::subrange{it, range.end()};
3712
2.35M
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.35M
                      ranges::sized_range<Range>) {
3714
2.35M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.35M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
2.35M
            else {
3724
2.35M
                auto cb = [&](const auto& rr)
3725
2.35M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
2.35M
                    auto res = read_all(rr);
3727
2.35M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
2.35M
                        return unexpected_scan_error(
3729
2.35M
                            scan_error::invalid_scanned_value,
3730
2.35M
                            "Invalid float value");
3731
2.35M
                    }
3732
2.35M
                    return res;
3733
2.35M
                };
3734
2.35M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.31M
            }
3736
2.35M
        }
3737
2.31M
        else {
3738
2.31M
            SCN_TRY_ASSIGN(
3739
2.31M
                it,
3740
2.31M
                do_read_source_impl(
3741
2.31M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.31M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.31M
        }
3744
3745
2.31M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.31M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.31M
            m_kind != float_kind::nan_simple &&
3749
2.31M
            m_kind != float_kind::nan_with_payload) {
3750
2.17M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.17M
        }
3752
3753
2.31M
        handle_separators();
3754
3755
2.31M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.31M
        return it;
3768
2.31M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
282k
    {
3705
282k
        SCN_TRY(sign_result,
3706
282k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
282k
        auto it = sign_result.first;
3708
282k
        m_sign = sign_result.second;
3709
3710
282k
        auto digits_begin = it;
3711
282k
        auto r = ranges::subrange{it, range.end()};
3712
282k
        if constexpr (ranges::contiguous_range<Range> &&
3713
282k
                      ranges::sized_range<Range>) {
3714
282k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
282k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
282k
                SCN_TRY_ASSIGN(
3717
282k
                    it,
3718
282k
                    do_read_source_impl(
3719
282k
                        r,
3720
282k
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
282k
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
282k
            }
3723
282k
            else {
3724
282k
                auto cb = [&](const auto& rr)
3725
282k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
282k
                    auto res = read_all(rr);
3727
282k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
282k
                        return unexpected_scan_error(
3729
282k
                            scan_error::invalid_scanned_value,
3730
282k
                            "Invalid float value");
3731
282k
                    }
3732
282k
                    return res;
3733
282k
                };
3734
282k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
282k
            }
3736
282k
        }
3737
282k
        else {
3738
282k
            SCN_TRY_ASSIGN(
3739
50.0k
                it,
3740
50.0k
                do_read_source_impl(
3741
50.0k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
50.0k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
50.0k
        }
3744
3745
50.0k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
50.0k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
50.0k
            m_kind != float_kind::nan_simple &&
3749
50.0k
            m_kind != float_kind::nan_with_payload) {
3750
50.0k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
50.0k
        }
3752
3753
50.0k
        handle_separators();
3754
3755
50.0k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
50.0k
        return it;
3768
50.0k
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
10
    {
3705
10
        SCN_TRY(sign_result,
3706
10
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
10
        auto it = sign_result.first;
3708
10
        m_sign = sign_result.second;
3709
3710
10
        auto digits_begin = it;
3711
10
        auto r = ranges::subrange{it, range.end()};
3712
10
        if constexpr (ranges::contiguous_range<Range> &&
3713
10
                      ranges::sized_range<Range>) {
3714
10
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
10
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
10
                SCN_TRY_ASSIGN(
3717
10
                    it,
3718
10
                    do_read_source_impl(
3719
10
                        r,
3720
10
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
10
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
10
            }
3723
10
            else {
3724
10
                auto cb = [&](const auto& rr)
3725
10
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
10
                    auto res = read_all(rr);
3727
10
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
10
                        return unexpected_scan_error(
3729
10
                            scan_error::invalid_scanned_value,
3730
10
                            "Invalid float value");
3731
10
                    }
3732
10
                    return res;
3733
10
                };
3734
10
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
10
            }
3736
10
        }
3737
10
        else {
3738
10
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
284k
    {
3705
284k
        SCN_TRY(sign_result,
3706
284k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
284k
        auto it = sign_result.first;
3708
284k
        m_sign = sign_result.second;
3709
3710
284k
        auto digits_begin = it;
3711
284k
        auto r = ranges::subrange{it, range.end()};
3712
284k
        if constexpr (ranges::contiguous_range<Range> &&
3713
284k
                      ranges::sized_range<Range>) {
3714
284k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
284k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
284k
            else {
3724
284k
                auto cb = [&](const auto& rr)
3725
284k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
284k
                    auto res = read_all(rr);
3727
284k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
284k
                        return unexpected_scan_error(
3729
284k
                            scan_error::invalid_scanned_value,
3730
284k
                            "Invalid float value");
3731
284k
                    }
3732
284k
                    return res;
3733
284k
                };
3734
284k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
176k
            }
3736
284k
        }
3737
176k
        else {
3738
176k
            SCN_TRY_ASSIGN(
3739
176k
                it,
3740
176k
                do_read_source_impl(
3741
176k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
176k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
176k
        }
3744
3745
176k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
176k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
176k
            m_kind != float_kind::nan_simple &&
3749
176k
            m_kind != float_kind::nan_with_payload) {
3750
176k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
176k
        }
3752
3753
176k
        handle_separators();
3754
3755
176k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
176k
        return it;
3768
176k
    }
3769
3770
    template <typename Range>
3771
    auto read_dec_digits(Range range, bool thsep_allowed)
3772
        -> parse_expected<ranges::const_iterator_t<Range>>
3773
4.83M
    {
3774
4.83M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
4.83M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3780
0
        }
3781
3782
4.83M
        return read_while1_code_unit(
3783
26.3M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3783
18.6M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3783
264
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3783
7.23M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3783
323k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3783
10
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3783
165k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
4.83M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
3.22M
    {
3774
3.22M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
3.22M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
3.22M
        return read_while1_code_unit(
3783
3.22M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
3.22M
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
264
    {
3774
264
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
264
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
264
        return read_while1_code_unit(
3783
264
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
264
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
1.17M
    {
3774
1.17M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
1.17M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
1.17M
        return read_while1_code_unit(
3783
1.17M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
1.17M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
279k
    {
3774
279k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
279k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
279k
        return read_while1_code_unit(
3783
279k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
279k
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
10
    {
3774
10
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
10
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
10
        return read_while1_code_unit(
3783
10
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
10
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
145k
    {
3774
145k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
145k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
145k
        return read_while1_code_unit(
3783
145k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
145k
    }
3785
    template <typename Range>
3786
    auto read_hex_digits(Range range, bool thsep_allowed)
3787
        -> parse_expected<ranges::const_iterator_t<Range>>
3788
1.19M
    {
3789
1.19M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
1.19M
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3795
0
        }
3796
3797
1.19M
        return read_while1_code_unit(
3798
5.97M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3798
5.91M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3798
2
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3798
65.1k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3799
1.19M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
1.14M
    {
3789
1.14M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
1.14M
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
1.14M
        return read_while1_code_unit(
3798
1.14M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
1.14M
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
2
    {
3789
2
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
2
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
2
        return read_while1_code_unit(
3798
2
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
2
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
54.3k
    {
3789
54.3k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
54.3k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
54.3k
        return read_while1_code_unit(
3798
54.3k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
54.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3800
    template <typename Range>
3801
    auto read_hex_prefix(Range range)
3802
        -> parse_expected<ranges::const_iterator_t<Range>>
3803
3.53M
    {
3804
3.53M
        return read_matching_string_classic_nocase(range, "0x");
3805
3.53M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
1.59M
    {
3804
1.59M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.59M
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
258
    {
3804
258
        return read_matching_string_classic_nocase(range, "0x");
3805
258
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
1.62M
    {
3804
1.62M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.62M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
156k
    {
3804
156k
        return read_matching_string_classic_nocase(range, "0x");
3805
156k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
10
    {
3804
10
        return read_matching_string_classic_nocase(range, "0x");
3805
10
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
158k
    {
3804
158k
        return read_matching_string_classic_nocase(range, "0x");
3805
158k
    }
3806
3807
    template <typename Range>
3808
    auto read_inf(Range range)
3809
        -> parse_expected<ranges::const_iterator_t<Range>>
3810
5.27M
    {
3811
5.27M
        auto it = range.begin();
3812
5.27M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
5.19M
            return unexpected(r.error());
3814
5.19M
        }
3815
75.7k
        else {
3816
75.7k
            it = *r;
3817
75.7k
        }
3818
3819
75.7k
        if (auto r = read_matching_string_classic_nocase(
3820
75.7k
                ranges::subrange{it, range.end()}, "inity");
3821
75.7k
            !r) {
3822
44.3k
            m_kind = float_kind::inf_short;
3823
44.3k
            return it;
3824
44.3k
        }
3825
31.4k
        else {
3826
31.4k
            m_kind = float_kind::inf_long;
3827
31.4k
            return *r;
3828
31.4k
        }
3829
75.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
2.34M
    {
3811
2.34M
        auto it = range.begin();
3812
2.34M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.31M
            return unexpected(r.error());
3814
2.31M
        }
3815
38.1k
        else {
3816
38.1k
            it = *r;
3817
38.1k
        }
3818
3819
38.1k
        if (auto r = read_matching_string_classic_nocase(
3820
38.1k
                ranges::subrange{it, range.end()}, "inity");
3821
38.1k
            !r) {
3822
22.3k
            m_kind = float_kind::inf_short;
3823
22.3k
            return it;
3824
22.3k
        }
3825
15.7k
        else {
3826
15.7k
            m_kind = float_kind::inf_long;
3827
15.7k
            return *r;
3828
15.7k
        }
3829
38.1k
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
266
    {
3811
266
        auto it = range.begin();
3812
266
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
266
            return unexpected(r.error());
3814
266
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
2.35M
    {
3811
2.35M
        auto it = range.begin();
3812
2.35M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.31M
            return unexpected(r.error());
3814
2.31M
        }
3815
37.6k
        else {
3816
37.6k
            it = *r;
3817
37.6k
        }
3818
3819
37.6k
        if (auto r = read_matching_string_classic_nocase(
3820
37.6k
                ranges::subrange{it, range.end()}, "inity");
3821
37.6k
            !r) {
3822
21.9k
            m_kind = float_kind::inf_short;
3823
21.9k
            return it;
3824
21.9k
        }
3825
15.6k
        else {
3826
15.6k
            m_kind = float_kind::inf_long;
3827
15.6k
            return *r;
3828
15.6k
        }
3829
37.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
282k
    {
3811
282k
        auto it = range.begin();
3812
282k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
282k
            return unexpected(r.error());
3814
282k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
10
    {
3811
10
        auto it = range.begin();
3812
10
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
10
            return unexpected(r.error());
3814
10
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
284k
    {
3811
284k
        auto it = range.begin();
3812
284k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
284k
            return unexpected(r.error());
3814
284k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
3830
3831
    template <typename Range>
3832
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3833
5.19M
    {
3834
5.19M
        auto it = range.begin();
3835
5.19M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
5.00M
            return r.transform_error(map_parse_error_to_scan_error(
3837
5.00M
                scan_error::invalid_scanned_value,
3838
5.00M
                "Invalid floating-point NaN value"));
3839
5.00M
        }
3840
189k
        else {
3841
189k
            it = *r;
3842
189k
        }
3843
3844
189k
        if (auto r =
3845
189k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
189k
            !r) {
3847
181k
            m_kind = float_kind::nan_simple;
3848
181k
            return it;
3849
181k
        }
3850
7.60k
        else {
3851
7.60k
            it = *r;
3852
7.60k
        }
3853
3854
7.60k
        auto payload_beg_it = it;
3855
7.60k
        it = read_while_code_unit(
3856
46.9k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
46.9k
                return is_ascii_char(ch) &&
3858
46.9k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
46.5k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
46.9k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Line
Count
Source
3856
23.5k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
23.5k
                return is_ascii_char(ch) &&
3858
23.5k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
23.3k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
23.5k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Line
Count
Source
3856
23.4k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
23.4k
                return is_ascii_char(ch) &&
3858
23.4k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
23.2k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
23.4k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3861
7.60k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
7.60k
        m_kind = float_kind::nan_with_payload;
3864
7.60k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
7.60k
                                             ')')) {
3866
5.32k
            return *r;
3867
5.32k
        }
3868
2.28k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
2.28k
                                     "Invalid floating-point NaN payload");
3870
7.60k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
2.31M
    {
3834
2.31M
        auto it = range.begin();
3835
2.31M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.21M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.21M
                scan_error::invalid_scanned_value,
3838
2.21M
                "Invalid floating-point NaN value"));
3839
2.21M
        }
3840
94.8k
        else {
3841
94.8k
            it = *r;
3842
94.8k
        }
3843
3844
94.8k
        if (auto r =
3845
94.8k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
94.8k
            !r) {
3847
91.0k
            m_kind = float_kind::nan_simple;
3848
91.0k
            return it;
3849
91.0k
        }
3850
3.81k
        else {
3851
3.81k
            it = *r;
3852
3.81k
        }
3853
3854
3.81k
        auto payload_beg_it = it;
3855
3.81k
        it = read_while_code_unit(
3856
3.81k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
3.81k
                return is_ascii_char(ch) &&
3858
3.81k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
3.81k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
3.81k
            });
3861
3.81k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
3.81k
        m_kind = float_kind::nan_with_payload;
3864
3.81k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
3.81k
                                             ')')) {
3866
2.66k
            return *r;
3867
2.66k
        }
3868
1.15k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.15k
                                     "Invalid floating-point NaN payload");
3870
3.81k
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
266
    {
3834
266
        auto it = range.begin();
3835
266
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
266
            return r.transform_error(map_parse_error_to_scan_error(
3837
266
                scan_error::invalid_scanned_value,
3838
266
                "Invalid floating-point NaN value"));
3839
266
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
2.31M
    {
3834
2.31M
        auto it = range.begin();
3835
2.31M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.22M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.22M
                scan_error::invalid_scanned_value,
3838
2.22M
                "Invalid floating-point NaN value"));
3839
2.22M
        }
3840
94.6k
        else {
3841
94.6k
            it = *r;
3842
94.6k
        }
3843
3844
94.6k
        if (auto r =
3845
94.6k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
94.6k
            !r) {
3847
90.9k
            m_kind = float_kind::nan_simple;
3848
90.9k
            return it;
3849
90.9k
        }
3850
3.78k
        else {
3851
3.78k
            it = *r;
3852
3.78k
        }
3853
3854
3.78k
        auto payload_beg_it = it;
3855
3.78k
        it = read_while_code_unit(
3856
3.78k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
3.78k
                return is_ascii_char(ch) &&
3858
3.78k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
3.78k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
3.78k
            });
3861
3.78k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
3.78k
        m_kind = float_kind::nan_with_payload;
3864
3.78k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
3.78k
                                             ')')) {
3866
2.65k
            return *r;
3867
2.65k
        }
3868
1.12k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.12k
                                     "Invalid floating-point NaN payload");
3870
3.78k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
282k
    {
3834
282k
        auto it = range.begin();
3835
282k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
282k
            return r.transform_error(map_parse_error_to_scan_error(
3837
282k
                scan_error::invalid_scanned_value,
3838
282k
                "Invalid floating-point NaN value"));
3839
282k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
10
    {
3834
10
        auto it = range.begin();
3835
10
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
10
            return r.transform_error(map_parse_error_to_scan_error(
3837
10
                scan_error::invalid_scanned_value,
3838
10
                "Invalid floating-point NaN value"));
3839
10
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
284k
    {
3834
284k
        auto it = range.begin();
3835
284k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
284k
            return r.transform_error(map_parse_error_to_scan_error(
3837
284k
                scan_error::invalid_scanned_value,
3838
284k
                "Invalid floating-point NaN value"));
3839
284k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
3871
3872
    template <typename Range>
3873
    auto read_exponent(Range range, std::string_view exp)
3874
        -> ranges::const_iterator_t<Range>
3875
2.40M
    {
3876
2.40M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
326k
            auto beg_exp_it = range.begin();
3878
326k
            auto it = *r;
3879
3880
326k
            if (auto r_sign =
3881
326k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
325k
                it = r_sign->first;
3883
325k
            }
3884
3885
326k
            if (auto r_exp = read_while1_code_unit(
3886
326k
                    ranges::subrange{it, range.end()},
3887
1.02M
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
777k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
244k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
5.27k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
2.10k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
326k
                SCN_UNLIKELY(!r_exp)) {
3889
5.32k
                it = beg_exp_it;
3890
5.32k
            }
3891
320k
            else {
3892
320k
                it = *r_exp;
3893
320k
            }
3894
3895
326k
            return it;
3896
326k
        }
3897
2.08M
        return range.begin();
3898
2.40M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
1.96M
    {
3876
1.96M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
244k
            auto beg_exp_it = range.begin();
3878
244k
            auto it = *r;
3879
3880
244k
            if (auto r_sign =
3881
244k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
243k
                it = r_sign->first;
3883
243k
            }
3884
3885
244k
            if (auto r_exp = read_while1_code_unit(
3886
244k
                    ranges::subrange{it, range.end()},
3887
244k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
244k
                SCN_UNLIKELY(!r_exp)) {
3889
2.81k
                it = beg_exp_it;
3890
2.81k
            }
3891
241k
            else {
3892
241k
                it = *r_exp;
3893
241k
            }
3894
3895
244k
            return it;
3896
244k
        }
3897
1.71M
        return range.begin();
3898
1.96M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
390k
    {
3876
390k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
78.6k
            auto beg_exp_it = range.begin();
3878
78.6k
            auto it = *r;
3879
3880
78.6k
            if (auto r_sign =
3881
78.6k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
78.5k
                it = r_sign->first;
3883
78.5k
            }
3884
3885
78.6k
            if (auto r_exp = read_while1_code_unit(
3886
78.6k
                    ranges::subrange{it, range.end()},
3887
78.6k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
78.6k
                SCN_UNLIKELY(!r_exp)) {
3889
1.02k
                it = beg_exp_it;
3890
1.02k
            }
3891
77.6k
            else {
3892
77.6k
                it = *r_exp;
3893
77.6k
            }
3894
3895
78.6k
            return it;
3896
78.6k
        }
3897
311k
        return range.begin();
3898
390k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
42.3k
    {
3876
42.3k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
2.44k
            auto beg_exp_it = range.begin();
3878
2.44k
            auto it = *r;
3879
3880
2.44k
            if (auto r_sign =
3881
2.44k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
2.42k
                it = r_sign->first;
3883
2.42k
            }
3884
3885
2.44k
            if (auto r_exp = read_while1_code_unit(
3886
2.44k
                    ranges::subrange{it, range.end()},
3887
2.44k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
2.44k
                SCN_UNLIKELY(!r_exp)) {
3889
1.03k
                it = beg_exp_it;
3890
1.03k
            }
3891
1.41k
            else {
3892
1.41k
                it = *r_exp;
3893
1.41k
            }
3894
3895
2.44k
            return it;
3896
2.44k
        }
3897
39.9k
        return range.begin();
3898
42.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
10.5k
    {
3876
10.5k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
1.01k
            auto beg_exp_it = range.begin();
3878
1.01k
            auto it = *r;
3879
3880
1.01k
            if (auto r_sign =
3881
1.01k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
998
                it = r_sign->first;
3883
998
            }
3884
3885
1.01k
            if (auto r_exp = read_while1_code_unit(
3886
1.01k
                    ranges::subrange{it, range.end()},
3887
1.01k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
1.01k
                SCN_UNLIKELY(!r_exp)) {
3889
446
                it = beg_exp_it;
3890
446
            }
3891
564
            else {
3892
564
                it = *r_exp;
3893
564
            }
3894
3895
1.01k
            return it;
3896
1.01k
        }
3897
9.55k
        return range.begin();
3898
10.5k
    }
3899
3900
    template <typename Range>
3901
    auto read_hexfloat(Range range)
3902
        -> scan_expected<ranges::const_iterator_t<Range>>
3903
620k
    {
3904
620k
        auto it = range.begin();
3905
3906
620k
        std::ptrdiff_t digits_count = 0;
3907
620k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
620k
            SCN_UNLIKELY(!r)) {
3909
45.6k
            return r.transform_error(map_parse_error_to_scan_error(
3910
45.6k
                scan_error::invalid_scanned_value,
3911
45.6k
                "Invalid hexadecimal floating-point value"));
3912
45.6k
        }
3913
575k
        else {
3914
575k
            digits_count += ranges::distance(it, *r);
3915
575k
            it = *r;
3916
575k
        }
3917
3918
575k
        m_integral_part_length = digits_count;
3919
575k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
575k
                                             m_locale_options.decimal_point)) {
3921
74.1k
            it = *r;
3922
74.1k
        }
3923
3924
575k
        if (auto r =
3925
575k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
58.7k
            digits_count += ranges::distance(it, *r);
3927
58.7k
            it = *r;
3928
58.7k
        }
3929
3930
575k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
575k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
575k
        return it;
3938
575k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
575k
    {
3904
575k
        auto it = range.begin();
3905
3906
575k
        std::ptrdiff_t digits_count = 0;
3907
575k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
575k
            SCN_UNLIKELY(!r)) {
3909
9.90k
            return r.transform_error(map_parse_error_to_scan_error(
3910
9.90k
                scan_error::invalid_scanned_value,
3911
9.90k
                "Invalid hexadecimal floating-point value"));
3912
9.90k
        }
3913
565k
        else {
3914
565k
            digits_count += ranges::distance(it, *r);
3915
565k
            it = *r;
3916
565k
        }
3917
3918
565k
        m_integral_part_length = digits_count;
3919
565k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
565k
                                             m_locale_options.decimal_point)) {
3921
74.1k
            it = *r;
3922
74.1k
        }
3923
3924
565k
        if (auto r =
3925
565k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
58.7k
            digits_count += ranges::distance(it, *r);
3927
58.7k
            it = *r;
3928
58.7k
        }
3929
3930
565k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
565k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
565k
        return it;
3938
565k
    }
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
2
    {
3904
2
        auto it = range.begin();
3905
3906
2
        std::ptrdiff_t digits_count = 0;
3907
2
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
2
            SCN_UNLIKELY(!r)) {
3909
2
            return r.transform_error(map_parse_error_to_scan_error(
3910
2
                scan_error::invalid_scanned_value,
3911
2
                "Invalid hexadecimal floating-point value"));
3912
2
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
45.0k
    {
3904
45.0k
        auto it = range.begin();
3905
3906
45.0k
        std::ptrdiff_t digits_count = 0;
3907
45.0k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
45.0k
            SCN_UNLIKELY(!r)) {
3909
35.7k
            return r.transform_error(map_parse_error_to_scan_error(
3910
35.7k
                scan_error::invalid_scanned_value,
3911
35.7k
                "Invalid hexadecimal floating-point value"));
3912
35.7k
        }
3913
9.30k
        else {
3914
9.30k
            digits_count += ranges::distance(it, *r);
3915
9.30k
            it = *r;
3916
9.30k
        }
3917
3918
9.30k
        m_integral_part_length = digits_count;
3919
9.30k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
9.30k
                                             m_locale_options.decimal_point)) {
3921
6
            it = *r;
3922
6
        }
3923
3924
9.30k
        if (auto r =
3925
9.30k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
9.30k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
9.30k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
9.30k
        return it;
3938
9.30k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
3939
3940
    template <typename Range>
3941
    auto read_regular_float(Range range)
3942
        -> scan_expected<ranges::const_iterator_t<Range>>
3943
2.60M
    {
3944
2.60M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
2.60M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
2.60M
        auto it = ranges::begin(range);
3948
2.60M
        std::ptrdiff_t digits_count = 0;
3949
3950
2.60M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
2.60M
            SCN_UNLIKELY(!r)) {
3952
384k
            return r.transform_error(
3953
384k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
384k
                                              "Invalid floating-point value"));
3955
384k
        }
3956
2.22M
        else {
3957
2.22M
            digits_count += ranges::distance(it, *r);
3958
2.22M
            it = *r;
3959
2.22M
        }
3960
3961
2.22M
        m_integral_part_length = digits_count;
3962
2.22M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
2.22M
                                             m_locale_options.decimal_point)) {
3964
374k
            it = *r;
3965
374k
        }
3966
3967
2.22M
        if (auto r =
3968
2.22M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
317k
            digits_count += ranges::distance(it, *r);
3970
317k
            it = *r;
3971
317k
        }
3972
3973
2.22M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
2.22M
        auto beg_exp_it = it;
3979
2.22M
        if (allowed_exp) {
3980
1.83M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
1.83M
        }
3982
2.22M
        if (required_exp && beg_exp_it == it) {
3983
33.6k
            return unexpected_scan_error(
3984
33.6k
                scan_error::invalid_scanned_value,
3985
33.6k
                "No exponent given to scientific float");
3986
33.6k
        }
3987
3988
2.18M
        m_kind =
3989
2.18M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
2.18M
        return it;
3992
2.22M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
1.63M
    {
3944
1.63M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
1.63M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
1.63M
        auto it = ranges::begin(range);
3948
1.63M
        std::ptrdiff_t digits_count = 0;
3949
3950
1.63M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
1.63M
            SCN_UNLIKELY(!r)) {
3952
53.7k
            return r.transform_error(
3953
53.7k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
53.7k
                                              "Invalid floating-point value"));
3955
53.7k
        }
3956
1.58M
        else {
3957
1.58M
            digits_count += ranges::distance(it, *r);
3958
1.58M
            it = *r;
3959
1.58M
        }
3960
3961
1.58M
        m_integral_part_length = digits_count;
3962
1.58M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
1.58M
                                             m_locale_options.decimal_point)) {
3964
269k
            it = *r;
3965
269k
        }
3966
3967
1.58M
        if (auto r =
3968
1.58M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
227k
            digits_count += ranges::distance(it, *r);
3970
227k
            it = *r;
3971
227k
        }
3972
3973
1.58M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
1.58M
        auto beg_exp_it = it;
3979
1.58M
        if (allowed_exp) {
3980
1.39M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
1.39M
        }
3982
1.58M
        if (required_exp && beg_exp_it == it) {
3983
15.5k
            return unexpected_scan_error(
3984
15.5k
                scan_error::invalid_scanned_value,
3985
15.5k
                "No exponent given to scientific float");
3986
15.5k
        }
3987
3988
1.57M
        m_kind =
3989
1.57M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
1.57M
        return it;
3992
1.58M
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
264
    {
3944
264
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
264
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
264
        auto it = ranges::begin(range);
3948
264
        std::ptrdiff_t digits_count = 0;
3949
3950
264
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
264
            SCN_UNLIKELY(!r)) {
3952
264
            return r.transform_error(
3953
264
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
264
                                              "Invalid floating-point value"));
3955
264
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
603k
    {
3944
603k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
603k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
603k
        auto it = ranges::begin(range);
3948
603k
        std::ptrdiff_t digits_count = 0;
3949
3950
603k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
603k
            SCN_UNLIKELY(!r)) {
3952
28.6k
            return r.transform_error(
3953
28.6k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
28.6k
                                              "Invalid floating-point value"));
3955
28.6k
        }
3956
575k
        else {
3957
575k
            digits_count += ranges::distance(it, *r);
3958
575k
            it = *r;
3959
575k
        }
3960
3961
575k
        m_integral_part_length = digits_count;
3962
575k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
575k
                                             m_locale_options.decimal_point)) {
3964
105k
            it = *r;
3965
105k
        }
3966
3967
575k
        if (auto r =
3968
575k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
90.2k
            digits_count += ranges::distance(it, *r);
3970
90.2k
            it = *r;
3971
90.2k
        }
3972
3973
575k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
575k
        auto beg_exp_it = it;
3979
575k
        if (allowed_exp) {
3980
390k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
390k
        }
3982
575k
        if (required_exp && beg_exp_it == it) {
3983
15.5k
            return unexpected_scan_error(
3984
15.5k
                scan_error::invalid_scanned_value,
3985
15.5k
                "No exponent given to scientific float");
3986
15.5k
        }
3987
3988
559k
        m_kind =
3989
559k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
559k
        return it;
3992
575k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
237k
    {
3944
237k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
237k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
237k
        auto it = ranges::begin(range);
3948
237k
        std::ptrdiff_t digits_count = 0;
3949
3950
237k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
237k
            SCN_UNLIKELY(!r)) {
3952
195k
            return r.transform_error(
3953
195k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
195k
                                              "Invalid floating-point value"));
3955
195k
        }
3956
42.0k
        else {
3957
42.0k
            digits_count += ranges::distance(it, *r);
3958
42.0k
            it = *r;
3959
42.0k
        }
3960
3961
42.0k
        m_integral_part_length = digits_count;
3962
42.0k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
42.0k
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
42.0k
        if (auto r =
3968
42.0k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
42.0k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
42.0k
        auto beg_exp_it = it;
3979
42.0k
        if (allowed_exp) {
3980
33.0k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
33.0k
        }
3982
42.0k
        if (required_exp && beg_exp_it == it) {
3983
1.26k
            return unexpected_scan_error(
3984
1.26k
                scan_error::invalid_scanned_value,
3985
1.26k
                "No exponent given to scientific float");
3986
1.26k
        }
3987
3988
40.7k
        m_kind =
3989
40.7k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
40.7k
        return it;
3992
42.0k
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
10
    {
3944
10
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
10
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
10
        auto it = ranges::begin(range);
3948
10
        std::ptrdiff_t digits_count = 0;
3949
3950
10
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
10
            SCN_UNLIKELY(!r)) {
3952
10
            return r.transform_error(
3953
10
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
10
                                              "Invalid floating-point value"));
3955
10
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
126k
    {
3944
126k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
126k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
126k
        auto it = ranges::begin(range);
3948
126k
        std::ptrdiff_t digits_count = 0;
3949
3950
126k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
126k
            SCN_UNLIKELY(!r)) {
3952
106k
            return r.transform_error(
3953
106k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
106k
                                              "Invalid floating-point value"));
3955
106k
        }
3956
19.5k
        else {
3957
19.5k
            digits_count += ranges::distance(it, *r);
3958
19.5k
            it = *r;
3959
19.5k
        }
3960
3961
19.5k
        m_integral_part_length = digits_count;
3962
19.5k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
19.5k
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
19.5k
        if (auto r =
3968
19.5k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
19.5k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
19.5k
        auto beg_exp_it = it;
3979
19.5k
        if (allowed_exp) {
3980
10.5k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
10.5k
        }
3982
19.5k
        if (required_exp && beg_exp_it == it) {
3983
1.26k
            return unexpected_scan_error(
3984
1.26k
                scan_error::invalid_scanned_value,
3985
1.26k
                "No exponent given to scientific float");
3986
1.26k
        }
3987
3988
18.2k
        m_kind =
3989
18.2k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
18.2k
        return it;
3992
19.5k
    }
3993
3994
    template <typename Range, typename ReadRegular, typename ReadHex>
3995
    auto do_read_source_impl(Range range,
3996
                             ReadRegular&& read_regular,
3997
                             ReadHex&& read_hex)
3998
        -> scan_expected<ranges::const_iterator_t<Range>>
3999
5.27M
    {
4000
5.27M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
5.27M
        const bool allowed_nonhex =
4002
5.27M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
5.27M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
5.27M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
5.27M
        else if (r) {
4011
75.7k
            return *r;
4012
75.7k
        }
4013
4014
5.19M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
2.28k
            return unexpected(r.error());
4016
2.28k
        }
4017
5.19M
        else if (r) {
4018
187k
            return *r;
4019
187k
        }
4020
4021
5.00M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
1.10M
            auto it = range.begin();
4025
4026
1.10M
            if (auto r = read_hex_prefix(range)) {
4027
52.5k
                m_kind = float_kind::hex_with_prefix;
4028
52.5k
                it = *r;
4029
52.5k
            }
4030
1.05M
            else {
4031
1.05M
                m_kind = float_kind::hex_without_prefix;
4032
1.05M
            }
4033
4034
1.10M
            return read_hex(ranges::subrange{it, range.end()});
4035
1.10M
        }
4036
3.89M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
1.47M
            m_kind = float_kind::generic;
4040
1.47M
            return read_regular_float(range);
4041
1.47M
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
2.42M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
123k
            m_kind = float_kind::hex_with_prefix;
4048
123k
            return read_hex(ranges::subrange{*r, range.end()});
4049
123k
        }
4050
4051
2.30M
        m_kind = float_kind::generic;
4052
2.30M
        return read_regular(range);
4053
2.42M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
2.34M
    {
4000
2.34M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.34M
        const bool allowed_nonhex =
4002
2.34M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.34M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.34M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.34M
        else if (r) {
4011
38.1k
            return *r;
4012
38.1k
        }
4013
4014
2.31M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.15k
            return unexpected(r.error());
4016
1.15k
        }
4017
2.30M
        else if (r) {
4018
93.6k
            return *r;
4019
93.6k
        }
4020
4021
2.21M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
515k
            auto it = range.begin();
4025
4026
515k
            if (auto r = read_hex_prefix(range)) {
4027
26.5k
                m_kind = float_kind::hex_with_prefix;
4028
26.5k
                it = *r;
4029
26.5k
            }
4030
489k
            else {
4031
489k
                m_kind = float_kind::hex_without_prefix;
4032
489k
            }
4033
4034
515k
            return read_hex(ranges::subrange{it, range.end()});
4035
515k
        }
4036
1.69M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
617k
            m_kind = float_kind::generic;
4040
617k
            return read_regular_float(range);
4041
617k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.08M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
59.8k
            m_kind = float_kind::hex_with_prefix;
4048
59.8k
            return read_hex(ranges::subrange{*r, range.end()});
4049
59.8k
        }
4050
4051
1.02M
        m_kind = float_kind::generic;
4052
1.02M
        return read_regular(range);
4053
1.08M
    }
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
266
    {
4000
266
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
266
        const bool allowed_nonhex =
4002
266
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
266
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
266
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
266
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
266
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
266
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
266
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
2
            auto it = range.begin();
4025
4026
2
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
2
            else {
4031
2
                m_kind = float_kind::hex_without_prefix;
4032
2
            }
4033
4034
2
            return read_hex(ranges::subrange{it, range.end()});
4035
2
        }
4036
264
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
8
            m_kind = float_kind::generic;
4040
8
            return read_regular_float(range);
4041
8
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
256
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
256
        m_kind = float_kind::generic;
4052
256
        return read_regular(range);
4053
256
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
2.35M
    {
4000
2.35M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.35M
        const bool allowed_nonhex =
4002
2.35M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.35M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.35M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.35M
        else if (r) {
4011
37.6k
            return *r;
4012
37.6k
        }
4013
4014
2.31M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.12k
            return unexpected(r.error());
4016
1.12k
        }
4017
2.31M
        else if (r) {
4018
93.5k
            return *r;
4019
93.5k
        }
4020
4021
2.22M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
502k
            auto it = range.begin();
4025
4026
502k
            if (auto r = read_hex_prefix(range)) {
4027
25.8k
                m_kind = float_kind::hex_with_prefix;
4028
25.8k
                it = *r;
4029
25.8k
            }
4030
476k
            else {
4031
476k
                m_kind = float_kind::hex_without_prefix;
4032
476k
            }
4033
4034
502k
            return read_hex(ranges::subrange{it, range.end()});
4035
502k
        }
4036
1.72M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
603k
            m_kind = float_kind::generic;
4040
603k
            return read_regular_float(range);
4041
603k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.11M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
63.5k
            m_kind = float_kind::hex_with_prefix;
4048
63.5k
            return read_hex(ranges::subrange{*r, range.end()});
4049
63.5k
        }
4050
4051
1.05M
        m_kind = float_kind::generic;
4052
1.05M
        return read_regular(range);
4053
1.11M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
282k
    {
4000
282k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
282k
        const bool allowed_nonhex =
4002
282k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
282k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
282k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
282k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
282k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
282k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
282k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
44.9k
            auto it = range.begin();
4025
4026
44.9k
            if (auto r = read_hex_prefix(range)) {
4027
60
                m_kind = float_kind::hex_with_prefix;
4028
60
                it = *r;
4029
60
            }
4030
44.8k
            else {
4031
44.8k
                m_kind = float_kind::hex_without_prefix;
4032
44.8k
            }
4033
4034
44.9k
            return read_hex(ranges::subrange{it, range.end()});
4035
44.9k
        }
4036
237k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
126k
            m_kind = float_kind::generic;
4040
126k
            return read_regular_float(range);
4041
126k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
111k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
150
            m_kind = float_kind::hex_with_prefix;
4048
150
            return read_hex(ranges::subrange{*r, range.end()});
4049
150
        }
4050
4051
111k
        m_kind = float_kind::generic;
4052
111k
        return read_regular(range);
4053
111k
    }
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
10
    {
4000
10
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
10
        const bool allowed_nonhex =
4002
10
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
10
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
10
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
10
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
10
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
10
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
10
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
0
            auto it = range.begin();
4025
4026
0
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
0
            else {
4031
0
                m_kind = float_kind::hex_without_prefix;
4032
0
            }
4033
4034
0
            return read_hex(ranges::subrange{it, range.end()});
4035
0
        }
4036
10
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
0
            m_kind = float_kind::generic;
4040
0
            return read_regular_float(range);
4041
0
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
10
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
10
        m_kind = float_kind::generic;
4052
10
        return read_regular(range);
4053
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
284k
    {
4000
284k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
284k
        const bool allowed_nonhex =
4002
284k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
284k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
284k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
284k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
284k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
284k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
284k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
44.9k
            auto it = range.begin();
4025
4026
44.9k
            if (auto r = read_hex_prefix(range)) {
4027
60
                m_kind = float_kind::hex_with_prefix;
4028
60
                it = *r;
4029
60
            }
4030
44.9k
            else {
4031
44.9k
                m_kind = float_kind::hex_without_prefix;
4032
44.9k
            }
4033
4034
44.9k
            return read_hex(ranges::subrange{it, range.end()});
4035
44.9k
        }
4036
239k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
126k
            m_kind = float_kind::generic;
4040
126k
            return read_regular_float(range);
4041
126k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
113k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
150
            m_kind = float_kind::hex_with_prefix;
4048
150
            return read_hex(ranges::subrange{*r, range.end()});
4049
150
        }
4050
4051
112k
        m_kind = float_kind::generic;
4052
112k
        return read_regular(range);
4053
113k
    }
4054
4055
    void handle_separators()
4056
4.80M
    {
4057
4.80M
        if (m_locale_options.thousands_sep == 0 &&
4058
4.80M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
4.80M
            return;
4060
4.80M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<char>::handle_separators()
Line
Count
Source
4056
4.57M
    {
4057
4.57M
        if (m_locale_options.thousands_sep == 0 &&
4058
4.57M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
4.57M
            return;
4060
4.57M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4056
226k
    {
4057
226k
        if (m_locale_options.thousands_sep == 0 &&
4058
226k
            m_locale_options.decimal_point == CharT{'.'}) {
4059
226k
            return;
4060
226k
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
4096
4097
    template <typename T>
4098
    T setsign(T value) const
4099
4.80M
    {
4100
4.80M
        if (m_sign == sign_type::minus_sign) {
4101
556k
            return std::copysign(value, T{-1.0});
4102
556k
        }
4103
4.24M
        return std::copysign(value, T{1.0});
4104
4.80M
    }
float scn::v3::impl::float_reader<char>::setsign<float>(float) const
Line
Count
Source
4099
1.44M
    {
4100
1.44M
        if (m_sign == sign_type::minus_sign) {
4101
175k
            return std::copysign(value, T{-1.0});
4102
175k
        }
4103
1.26M
        return std::copysign(value, T{1.0});
4104
1.44M
    }
float scn::v3::impl::float_reader<wchar_t>::setsign<float>(float) const
Line
Count
Source
4099
75.0k
    {
4100
75.0k
        if (m_sign == sign_type::minus_sign) {
4101
24
            return std::copysign(value, T{-1.0});
4102
24
        }
4103
74.9k
        return std::copysign(value, T{1.0});
4104
75.0k
    }
double scn::v3::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4099
1.55M
    {
4100
1.55M
        if (m_sign == sign_type::minus_sign) {
4101
187k
            return std::copysign(value, T{-1.0});
4102
187k
        }
4103
1.37M
        return std::copysign(value, T{1.0});
4104
1.55M
    }
double scn::v3::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4099
76.1k
    {
4100
76.1k
        if (m_sign == sign_type::minus_sign) {
4101
24
            return std::copysign(value, T{-1.0});
4102
24
        }
4103
76.0k
        return std::copysign(value, T{1.0});
4104
76.1k
    }
long double scn::v3::impl::float_reader<char>::setsign<long double>(long double) const
Line
Count
Source
4099
1.57M
    {
4100
1.57M
        if (m_sign == sign_type::minus_sign) {
4101
193k
            return std::copysign(value, T{-1.0});
4102
193k
        }
4103
1.38M
        return std::copysign(value, T{1.0});
4104
1.57M
    }
long double scn::v3::impl::float_reader<wchar_t>::setsign<long double>(long double) const
Line
Count
Source
4099
75.1k
    {
4100
75.1k
        if (m_sign == sign_type::minus_sign) {
4101
24
            return std::copysign(value, T{-1.0});
4102
24
        }
4103
75.1k
        return std::copysign(value, T{1.0});
4104
75.1k
    }
4105
4106
    template <typename T>
4107
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4108
4109
    localized_number_formatting_options<CharT> m_locale_options{};
4110
    std::string m_thsep_indices{};
4111
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4112
    std::ptrdiff_t m_integral_part_length{-1};
4113
    sign_type m_sign{sign_type::default_sign};
4114
    float_kind m_kind{float_kind::tbd};
4115
};
4116
4117
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4118
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4119
        -> scan_expected<std::ptrdiff_t>;
4120
4121
#if !SCN_DISABLE_TYPE_FLOAT
4122
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4123
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4124
#endif
4125
#if !SCN_DISABLE_TYPE_DOUBLE
4126
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4127
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4128
#endif
4129
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4130
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4131
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4132
#endif
4133
4134
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4135
4136
template <typename CharT>
4137
class reader_impl_for_float
4138
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4139
public:
4140
    constexpr reader_impl_for_float() = default;
4141
4142
    void check_specs_impl(const detail::format_specs& specs,
4143
                          reader_error_handler& eh)
4144
3.80M
    {
4145
3.80M
        detail::check_float_type_specs(specs, eh);
4146
3.80M
    }
scn::v3::impl::reader_impl_for_float<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
3.37M
    {
4145
3.37M
        detail::check_float_type_specs(specs, eh);
4146
3.37M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
435k
    {
4145
435k
        detail::check_float_type_specs(specs, eh);
4146
435k
    }
4147
4148
    template <typename Range, typename T>
4149
    auto read_default(Range range, T& value, detail::locale_ref loc)
4150
        -> scan_expected<ranges::const_iterator_t<Range>>
4151
1.51M
    {
4152
1.51M
        SCN_UNUSED(loc);
4153
4154
1.51M
        float_reader<CharT> rd{};
4155
1.51M
        return read_impl<Range>(
4156
1.51M
            range, rd,
4157
1.51M
            [](float_reader<CharT>& r, auto&&... args) {
4158
1.51M
                return r.read_source(SCN_FWD(args)...);
4159
1.51M
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
220k
            [](float_reader<CharT>& r, auto&&... args) {
4158
220k
                return r.read_source(SCN_FWD(args)...);
4159
220k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
244k
            [](float_reader<CharT>& r, auto&&... args) {
4158
244k
                return r.read_source(SCN_FWD(args)...);
4159
244k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
247k
            [](float_reader<CharT>& r, auto&&... args) {
4158
247k
                return r.read_source(SCN_FWD(args)...);
4159
247k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
205k
            [](float_reader<CharT>& r, auto&&... args) {
4158
205k
                return r.read_source(SCN_FWD(args)...);
4159
205k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
227k
            [](float_reader<CharT>& r, auto&&... args) {
4158
227k
                return r.read_source(SCN_FWD(args)...);
4159
227k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
230k
            [](float_reader<CharT>& r, auto&&... args) {
4158
230k
                return r.read_source(SCN_FWD(args)...);
4159
230k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
22.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.9k
                return r.read_source(SCN_FWD(args)...);
4159
22.9k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
22.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.4k
                return r.read_source(SCN_FWD(args)...);
4159
22.4k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
22.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.4k
                return r.read_source(SCN_FWD(args)...);
4159
22.4k
            },
4160
1.51M
            value);
4161
1.51M
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
220k
    {
4152
220k
        SCN_UNUSED(loc);
4153
4154
220k
        float_reader<CharT> rd{};
4155
220k
        return read_impl<Range>(
4156
220k
            range, rd,
4157
220k
            [](float_reader<CharT>& r, auto&&... args) {
4158
220k
                return r.read_source(SCN_FWD(args)...);
4159
220k
            },
4160
220k
            value);
4161
220k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
244k
    {
4152
244k
        SCN_UNUSED(loc);
4153
4154
244k
        float_reader<CharT> rd{};
4155
244k
        return read_impl<Range>(
4156
244k
            range, rd,
4157
244k
            [](float_reader<CharT>& r, auto&&... args) {
4158
244k
                return r.read_source(SCN_FWD(args)...);
4159
244k
            },
4160
244k
            value);
4161
244k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
247k
    {
4152
247k
        SCN_UNUSED(loc);
4153
4154
247k
        float_reader<CharT> rd{};
4155
247k
        return read_impl<Range>(
4156
247k
            range, rd,
4157
247k
            [](float_reader<CharT>& r, auto&&... args) {
4158
247k
                return r.read_source(SCN_FWD(args)...);
4159
247k
            },
4160
247k
            value);
4161
247k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
205k
    {
4152
205k
        SCN_UNUSED(loc);
4153
4154
205k
        float_reader<CharT> rd{};
4155
205k
        return read_impl<Range>(
4156
205k
            range, rd,
4157
205k
            [](float_reader<CharT>& r, auto&&... args) {
4158
205k
                return r.read_source(SCN_FWD(args)...);
4159
205k
            },
4160
205k
            value);
4161
205k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
227k
    {
4152
227k
        SCN_UNUSED(loc);
4153
4154
227k
        float_reader<CharT> rd{};
4155
227k
        return read_impl<Range>(
4156
227k
            range, rd,
4157
227k
            [](float_reader<CharT>& r, auto&&... args) {
4158
227k
                return r.read_source(SCN_FWD(args)...);
4159
227k
            },
4160
227k
            value);
4161
227k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
230k
    {
4152
230k
        SCN_UNUSED(loc);
4153
4154
230k
        float_reader<CharT> rd{};
4155
230k
        return read_impl<Range>(
4156
230k
            range, rd,
4157
230k
            [](float_reader<CharT>& r, auto&&... args) {
4158
230k
                return r.read_source(SCN_FWD(args)...);
4159
230k
            },
4160
230k
            value);
4161
230k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
22.3k
    {
4152
22.3k
        SCN_UNUSED(loc);
4153
4154
22.3k
        float_reader<CharT> rd{};
4155
22.3k
        return read_impl<Range>(
4156
22.3k
            range, rd,
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
4160
22.3k
            value);
4161
22.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
22.9k
    {
4152
22.9k
        SCN_UNUSED(loc);
4153
4154
22.9k
        float_reader<CharT> rd{};
4155
22.9k
        return read_impl<Range>(
4156
22.9k
            range, rd,
4157
22.9k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.9k
                return r.read_source(SCN_FWD(args)...);
4159
22.9k
            },
4160
22.9k
            value);
4161
22.9k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
22.4k
    {
4152
22.4k
        SCN_UNUSED(loc);
4153
4154
22.4k
        float_reader<CharT> rd{};
4155
22.4k
        return read_impl<Range>(
4156
22.4k
            range, rd,
4157
22.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.4k
                return r.read_source(SCN_FWD(args)...);
4159
22.4k
            },
4160
22.4k
            value);
4161
22.4k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
22.3k
    {
4152
22.3k
        SCN_UNUSED(loc);
4153
4154
22.3k
        float_reader<CharT> rd{};
4155
22.3k
        return read_impl<Range>(
4156
22.3k
            range, rd,
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
4160
22.3k
            value);
4161
22.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
22.3k
    {
4152
22.3k
        SCN_UNUSED(loc);
4153
4154
22.3k
        float_reader<CharT> rd{};
4155
22.3k
        return read_impl<Range>(
4156
22.3k
            range, rd,
4157
22.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.3k
                return r.read_source(SCN_FWD(args)...);
4159
22.3k
            },
4160
22.3k
            value);
4161
22.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
22.4k
    {
4152
22.4k
        SCN_UNUSED(loc);
4153
4154
22.4k
        float_reader<CharT> rd{};
4155
22.4k
        return read_impl<Range>(
4156
22.4k
            range, rd,
4157
22.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
22.4k
                return r.read_source(SCN_FWD(args)...);
4159
22.4k
            },
4160
22.4k
            value);
4161
22.4k
    }
4162
4163
    template <typename Range, typename T>
4164
    auto read_specs(Range range,
4165
                    const detail::format_specs& specs,
4166
                    T& value,
4167
                    detail::locale_ref loc)
4168
        -> scan_expected<ranges::const_iterator_t<Range>>
4169
3.76M
    {
4170
3.76M
        float_reader<CharT> rd{get_options(specs)};
4171
4172
3.76M
#if !SCN_DISABLE_LOCALE
4173
3.76M
        if (specs.localized) {
4174
1.05M
            return read_impl<Range>(
4175
1.05M
                range, rd,
4176
1.05M
                [](float_reader<CharT>& r, auto&&... args) {
4177
1.05M
                    return r.read_source_localized(SCN_FWD(args)...);
4178
1.05M
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
150k
                [](float_reader<CharT>& r, auto&&... args) {
4177
150k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
150k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
146k
                [](float_reader<CharT>& r, auto&&... args) {
4177
146k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
146k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
166k
                [](float_reader<CharT>& r, auto&&... args) {
4177
166k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
166k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
12
                [](float_reader<CharT>& r, auto&&... args) {
4177
12
                    return r.read_source_localized(SCN_FWD(args)...);
4178
12
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
162k
                [](float_reader<CharT>& r, auto&&... args) {
4177
162k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
162k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
169k
                [](float_reader<CharT>& r, auto&&... args) {
4177
169k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
169k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
165k
                [](float_reader<CharT>& r, auto&&... args) {
4177
165k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
165k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
1.05M
                value, loc);
4180
1.05M
        }
4181
2.71M
#endif
4182
4183
2.71M
        return read_impl<Range>(
4184
2.71M
            range, rd,
4185
2.71M
            [](float_reader<CharT>& r, auto&&... args) {
4186
2.71M
                return r.read_source(SCN_FWD(args)...);
4187
2.71M
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
383k
            [](float_reader<CharT>& r, auto&&... args) {
4186
383k
                return r.read_source(SCN_FWD(args)...);
4187
383k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
374k
            [](float_reader<CharT>& r, auto&&... args) {
4186
374k
                return r.read_source(SCN_FWD(args)...);
4187
374k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
405k
            [](float_reader<CharT>& r, auto&&... args) {
4186
405k
                return r.read_source(SCN_FWD(args)...);
4187
405k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
254
            [](float_reader<CharT>& r, auto&&... args) {
4186
254
                return r.read_source(SCN_FWD(args)...);
4187
254
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
396k
            [](float_reader<CharT>& r, auto&&... args) {
4186
396k
                return r.read_source(SCN_FWD(args)...);
4187
396k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
408k
            [](float_reader<CharT>& r, auto&&... args) {
4186
408k
                return r.read_source(SCN_FWD(args)...);
4187
408k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
399k
            [](float_reader<CharT>& r, auto&&... args) {
4186
399k
                return r.read_source(SCN_FWD(args)...);
4187
399k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
10
            [](float_reader<CharT>& r, auto&&... args) {
4186
10
                return r.read_source(SCN_FWD(args)...);
4187
10
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
57.4k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.4k
                return r.read_source(SCN_FWD(args)...);
4187
57.4k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
57.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.0k
                return r.read_source(SCN_FWD(args)...);
4187
57.0k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
57.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.0k
                return r.read_source(SCN_FWD(args)...);
4187
57.0k
            },
4188
2.71M
            value);
4189
3.76M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
534k
    {
4170
534k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
534k
#if !SCN_DISABLE_LOCALE
4173
534k
        if (specs.localized) {
4174
150k
            return read_impl<Range>(
4175
150k
                range, rd,
4176
150k
                [](float_reader<CharT>& r, auto&&... args) {
4177
150k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
150k
                },
4179
150k
                value, loc);
4180
150k
        }
4181
383k
#endif
4182
4183
383k
        return read_impl<Range>(
4184
383k
            range, rd,
4185
383k
            [](float_reader<CharT>& r, auto&&... args) {
4186
383k
                return r.read_source(SCN_FWD(args)...);
4187
383k
            },
4188
383k
            value);
4189
534k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
521k
    {
4170
521k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
521k
#if !SCN_DISABLE_LOCALE
4173
521k
        if (specs.localized) {
4174
146k
            return read_impl<Range>(
4175
146k
                range, rd,
4176
146k
                [](float_reader<CharT>& r, auto&&... args) {
4177
146k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
146k
                },
4179
146k
                value, loc);
4180
146k
        }
4181
374k
#endif
4182
4183
374k
        return read_impl<Range>(
4184
374k
            range, rd,
4185
374k
            [](float_reader<CharT>& r, auto&&... args) {
4186
374k
                return r.read_source(SCN_FWD(args)...);
4187
374k
            },
4188
374k
            value);
4189
521k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
571k
    {
4170
571k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
571k
#if !SCN_DISABLE_LOCALE
4173
571k
        if (specs.localized) {
4174
166k
            return read_impl<Range>(
4175
166k
                range, rd,
4176
166k
                [](float_reader<CharT>& r, auto&&... args) {
4177
166k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
166k
                },
4179
166k
                value, loc);
4180
166k
        }
4181
405k
#endif
4182
4183
405k
        return read_impl<Range>(
4184
405k
            range, rd,
4185
405k
            [](float_reader<CharT>& r, auto&&... args) {
4186
405k
                return r.read_source(SCN_FWD(args)...);
4187
405k
            },
4188
405k
            value);
4189
571k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
266
    {
4170
266
        float_reader<CharT> rd{get_options(specs)};
4171
4172
266
#if !SCN_DISABLE_LOCALE
4173
266
        if (specs.localized) {
4174
12
            return read_impl<Range>(
4175
12
                range, rd,
4176
12
                [](float_reader<CharT>& r, auto&&... args) {
4177
12
                    return r.read_source_localized(SCN_FWD(args)...);
4178
12
                },
4179
12
                value, loc);
4180
12
        }
4181
254
#endif
4182
4183
254
        return read_impl<Range>(
4184
254
            range, rd,
4185
254
            [](float_reader<CharT>& r, auto&&... args) {
4186
254
                return r.read_source(SCN_FWD(args)...);
4187
254
            },
4188
254
            value);
4189
266
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
558k
    {
4170
558k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
558k
#if !SCN_DISABLE_LOCALE
4173
558k
        if (specs.localized) {
4174
162k
            return read_impl<Range>(
4175
162k
                range, rd,
4176
162k
                [](float_reader<CharT>& r, auto&&... args) {
4177
162k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
162k
                },
4179
162k
                value, loc);
4180
162k
        }
4181
396k
#endif
4182
4183
396k
        return read_impl<Range>(
4184
396k
            range, rd,
4185
396k
            [](float_reader<CharT>& r, auto&&... args) {
4186
396k
                return r.read_source(SCN_FWD(args)...);
4187
396k
            },
4188
396k
            value);
4189
558k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
578k
    {
4170
578k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
578k
#if !SCN_DISABLE_LOCALE
4173
578k
        if (specs.localized) {
4174
169k
            return read_impl<Range>(
4175
169k
                range, rd,
4176
169k
                [](float_reader<CharT>& r, auto&&... args) {
4177
169k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
169k
                },
4179
169k
                value, loc);
4180
169k
        }
4181
408k
#endif
4182
4183
408k
        return read_impl<Range>(
4184
408k
            range, rd,
4185
408k
            [](float_reader<CharT>& r, auto&&... args) {
4186
408k
                return r.read_source(SCN_FWD(args)...);
4187
408k
            },
4188
408k
            value);
4189
578k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
564k
    {
4170
564k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
564k
#if !SCN_DISABLE_LOCALE
4173
564k
        if (specs.localized) {
4174
165k
            return read_impl<Range>(
4175
165k
                range, rd,
4176
165k
                [](float_reader<CharT>& r, auto&&... args) {
4177
165k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
165k
                },
4179
165k
                value, loc);
4180
165k
        }
4181
399k
#endif
4182
4183
399k
        return read_impl<Range>(
4184
399k
            range, rd,
4185
399k
            [](float_reader<CharT>& r, auto&&... args) {
4186
399k
                return r.read_source(SCN_FWD(args)...);
4187
399k
            },
4188
399k
            value);
4189
564k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
71.8k
    {
4170
71.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
71.8k
#if !SCN_DISABLE_LOCALE
4173
71.8k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
56.9k
#endif
4182
4183
56.9k
        return read_impl<Range>(
4184
56.9k
            range, rd,
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
4188
56.9k
            value);
4189
71.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
71.8k
    {
4170
71.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
71.8k
#if !SCN_DISABLE_LOCALE
4173
71.8k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
56.9k
#endif
4182
4183
56.9k
        return read_impl<Range>(
4184
56.9k
            range, rd,
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
4188
56.9k
            value);
4189
71.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
71.8k
    {
4170
71.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
71.8k
#if !SCN_DISABLE_LOCALE
4173
71.8k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
56.9k
#endif
4182
4183
56.9k
        return read_impl<Range>(
4184
56.9k
            range, rd,
4185
56.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
56.9k
                return r.read_source(SCN_FWD(args)...);
4187
56.9k
            },
4188
56.9k
            value);
4189
71.8k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
10
    {
4170
10
        float_reader<CharT> rd{get_options(specs)};
4171
4172
10
#if !SCN_DISABLE_LOCALE
4173
10
        if (specs.localized) {
4174
0
            return read_impl<Range>(
4175
0
                range, rd,
4176
0
                [](float_reader<CharT>& r, auto&&... args) {
4177
0
                    return r.read_source_localized(SCN_FWD(args)...);
4178
0
                },
4179
0
                value, loc);
4180
0
        }
4181
10
#endif
4182
4183
10
        return read_impl<Range>(
4184
10
            range, rd,
4185
10
            [](float_reader<CharT>& r, auto&&... args) {
4186
10
                return r.read_source(SCN_FWD(args)...);
4187
10
            },
4188
10
            value);
4189
10
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
72.3k
    {
4170
72.3k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
72.3k
#if !SCN_DISABLE_LOCALE
4173
72.3k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
57.4k
#endif
4182
4183
57.4k
        return read_impl<Range>(
4184
57.4k
            range, rd,
4185
57.4k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.4k
                return r.read_source(SCN_FWD(args)...);
4187
57.4k
            },
4188
57.4k
            value);
4189
72.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
71.9k
    {
4170
71.9k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
71.9k
#if !SCN_DISABLE_LOCALE
4173
71.9k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
57.0k
#endif
4182
4183
57.0k
        return read_impl<Range>(
4184
57.0k
            range, rd,
4185
57.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.0k
                return r.read_source(SCN_FWD(args)...);
4187
57.0k
            },
4188
57.0k
            value);
4189
71.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
72.0k
    {
4170
72.0k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
72.0k
#if !SCN_DISABLE_LOCALE
4173
72.0k
        if (specs.localized) {
4174
14.9k
            return read_impl<Range>(
4175
14.9k
                range, rd,
4176
14.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
14.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
14.9k
                },
4179
14.9k
                value, loc);
4180
14.9k
        }
4181
57.0k
#endif
4182
4183
57.0k
        return read_impl<Range>(
4184
57.0k
            range, rd,
4185
57.0k
            [](float_reader<CharT>& r, auto&&... args) {
4186
57.0k
                return r.read_source(SCN_FWD(args)...);
4187
57.0k
            },
4188
57.0k
            value);
4189
72.0k
    }
4190
4191
private:
4192
    template <typename Range>
4193
    using read_source_callback_type =
4194
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4195
                                                       Range,
4196
                                                       detail::locale_ref);
4197
4198
    template <typename Range, typename T>
4199
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4200
        Range range,
4201
        float_reader<CharT>& rd,
4202
        function_ref<read_source_callback_type<Range>> read_source_cb,
4203
        T& value,
4204
        detail::locale_ref loc = {})
4205
5.27M
    {
4206
5.27M
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
5.27M
            SCN_UNLIKELY(!r)) {
4208
467k
            return unexpected(r.error());
4209
467k
        }
4210
4211
4.80M
        SCN_TRY(n, rd.parse_value(value));
4212
4.62M
        return ranges::next(range.begin(), n);
4213
4.80M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
739k
    {
4206
739k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
739k
            SCN_UNLIKELY(!r)) {
4208
24.9k
            return unexpected(r.error());
4209
24.9k
        }
4210
4211
714k
        SCN_TRY(n, rd.parse_value(value));
4212
709k
        return ranges::next(range.begin(), n);
4213
714k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
741k
    {
4206
741k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
741k
            SCN_UNLIKELY(!r)) {
4208
14.9k
            return unexpected(r.error());
4209
14.9k
        }
4210
4211
726k
        SCN_TRY(n, rd.parse_value(value));
4212
710k
        return ranges::next(range.begin(), n);
4213
726k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
799k
    {
4206
799k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
799k
            SCN_UNLIKELY(!r)) {
4208
27.1k
            return unexpected(r.error());
4209
27.1k
        }
4210
4211
772k
        SCN_TRY(n, rd.parse_value(value));
4212
770k
        return ranges::next(range.begin(), n);
4213
772k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
266
    {
4206
266
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
266
            SCN_UNLIKELY(!r)) {
4208
266
            return unexpected(r.error());
4209
266
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
802k
    {
4206
802k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
802k
            SCN_UNLIKELY(!r)) {
4208
15.6k
            return unexpected(r.error());
4209
15.6k
        }
4210
4211
787k
        SCN_TRY(n, rd.parse_value(value));
4212
771k
        return ranges::next(range.begin(), n);
4213
787k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
808k
    {
4206
808k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
808k
            SCN_UNLIKELY(!r)) {
4208
28.3k
            return unexpected(r.error());
4209
28.3k
        }
4210
4211
780k
        SCN_TRY(n, rd.parse_value(value));
4212
779k
        return ranges::next(range.begin(), n);
4213
780k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
812k
    {
4206
812k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
812k
            SCN_UNLIKELY(!r)) {
4208
16.0k
            return unexpected(r.error());
4209
16.0k
        }
4210
4211
796k
        SCN_TRY(n, rd.parse_value(value));
4212
782k
        return ranges::next(range.begin(), n);
4213
796k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
94.1k
    {
4206
94.1k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
94.1k
            SCN_UNLIKELY(!r)) {
4208
77.4k
            return unexpected(r.error());
4209
77.4k
        }
4210
4211
16.6k
        SCN_TRY(n, rd.parse_value(value));
4212
16.3k
        return ranges::next(range.begin(), n);
4213
16.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
94.2k
    {
4206
94.2k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
94.2k
            SCN_UNLIKELY(!r)) {
4208
35.8k
            return unexpected(r.error());
4209
35.8k
        }
4210
4211
58.3k
        SCN_TRY(n, rd.parse_value(value));
4212
16.4k
        return ranges::next(range.begin(), n);
4213
58.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
94.2k
    {
4206
94.2k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
94.2k
            SCN_UNLIKELY(!r)) {
4208
77.5k
            return unexpected(r.error());
4209
77.5k
        }
4210
4211
16.6k
        SCN_TRY(n, rd.parse_value(value));
4212
16.5k
        return ranges::next(range.begin(), n);
4213
16.6k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
10
    {
4206
10
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
10
            SCN_UNLIKELY(!r)) {
4208
10
            return unexpected(r.error());
4209
10
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
95.3k
    {
4206
95.3k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
95.3k
            SCN_UNLIKELY(!r)) {
4208
35.9k
            return unexpected(r.error());
4209
35.9k
        }
4210
4211
59.4k
        SCN_TRY(n, rd.parse_value(value));
4212
16.5k
        return ranges::next(range.begin(), n);
4213
59.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
94.4k
    {
4206
94.4k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
94.4k
            SCN_UNLIKELY(!r)) {
4208
77.7k
            return unexpected(r.error());
4209
77.7k
        }
4210
4211
16.7k
        SCN_TRY(n, rd.parse_value(value));
4212
16.6k
        return ranges::next(range.begin(), n);
4213
16.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
94.4k
    {
4206
94.4k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
94.4k
            SCN_UNLIKELY(!r)) {
4208
35.9k
            return unexpected(r.error());
4209
35.9k
        }
4210
4211
58.4k
        SCN_TRY(n, rd.parse_value(value));
4212
16.7k
        return ranges::next(range.begin(), n);
4213
58.4k
    }
4214
4215
    static unsigned get_options(const detail::format_specs& specs)
4216
3.76M
    {
4217
3.76M
        unsigned options{};
4218
3.76M
        if (specs.localized) {
4219
1.05M
            options |= float_reader_base::allow_thsep;
4220
1.05M
        }
4221
4222
3.76M
        SCN_GCC_COMPAT_PUSH
4223
3.76M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
3.76M
        switch (specs.type) {
4226
509k
            case detail::presentation_type::float_fixed:
4227
509k
                return options | float_reader_base::allow_fixed;
4228
4229
136k
            case detail::presentation_type::float_scientific:
4230
136k
                return options | float_reader_base::allow_scientific;
4231
4232
1.16M
            case detail::presentation_type::float_hex:
4233
1.16M
                return options | float_reader_base::allow_hex;
4234
4235
897k
            case detail::presentation_type::float_general:
4236
897k
                return options | float_reader_base::allow_scientific |
4237
897k
                       float_reader_base::allow_fixed;
4238
4239
1.05M
            case detail::presentation_type::none:
4240
1.05M
                return options | float_reader_base::allow_scientific |
4241
1.05M
                       float_reader_base::allow_fixed |
4242
1.05M
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
3.76M
                SCN_UNREACHABLE;
4247
3.76M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
3.76M
    }
scn::v3::impl::reader_impl_for_float<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
3.32M
    {
4217
3.32M
        unsigned options{};
4218
3.32M
        if (specs.localized) {
4219
960k
            options |= float_reader_base::allow_thsep;
4220
960k
        }
4221
4222
3.32M
        SCN_GCC_COMPAT_PUSH
4223
3.32M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
3.32M
        switch (specs.type) {
4226
419k
            case detail::presentation_type::float_fixed:
4227
419k
                return options | float_reader_base::allow_fixed;
4228
4229
64.4k
            case detail::presentation_type::float_scientific:
4230
64.4k
                return options | float_reader_base::allow_scientific;
4231
4232
1.07M
            case detail::presentation_type::float_hex:
4233
1.07M
                return options | float_reader_base::allow_hex;
4234
4235
807k
            case detail::presentation_type::float_general:
4236
807k
                return options | float_reader_base::allow_scientific |
4237
807k
                       float_reader_base::allow_fixed;
4238
4239
961k
            case detail::presentation_type::none:
4240
961k
                return options | float_reader_base::allow_scientific |
4241
961k
                       float_reader_base::allow_fixed |
4242
961k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
3.32M
                SCN_UNREACHABLE;
4247
3.32M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
3.32M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
431k
    {
4217
431k
        unsigned options{};
4218
431k
        if (specs.localized) {
4219
89.6k
            options |= float_reader_base::allow_thsep;
4220
89.6k
        }
4221
4222
431k
        SCN_GCC_COMPAT_PUSH
4223
431k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
431k
        switch (specs.type) {
4226
89.8k
            case detail::presentation_type::float_fixed:
4227
89.8k
                return options | float_reader_base::allow_fixed;
4228
4229
72.5k
            case detail::presentation_type::float_scientific:
4230
72.5k
                return options | float_reader_base::allow_scientific;
4231
4232
89.8k
            case detail::presentation_type::float_hex:
4233
89.8k
                return options | float_reader_base::allow_hex;
4234
4235
89.6k
            case detail::presentation_type::float_general:
4236
89.6k
                return options | float_reader_base::allow_scientific |
4237
89.6k
                       float_reader_base::allow_fixed;
4238
4239
90.0k
            case detail::presentation_type::none:
4240
90.0k
                return options | float_reader_base::allow_scientific |
4241
90.0k
                       float_reader_base::allow_fixed |
4242
90.0k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
431k
                SCN_UNREACHABLE;
4247
431k
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
431k
    }
4251
};
4252
4253
/////////////////////////////////////////////////////////////////
4254
// Regex reader
4255
/////////////////////////////////////////////////////////////////
4256
4257
// Forward declaration for C++17 compatibility with regex disabled
4258
template <typename CharT, typename Input>
4259
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4260
                             detail::regex_flags flags,
4261
                             Input input,
4262
                             basic_regex_matches<CharT>& value)
4263
    -> scan_expected<ranges::iterator_t<Input>>;
4264
4265
#if !SCN_DISABLE_REGEX
4266
4267
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4268
constexpr auto make_regex_flags(detail::regex_flags flags)
4269
    -> scan_expected<std::regex_constants::syntax_option_type>
4270
9.85k
{
4271
9.85k
    std::regex_constants::syntax_option_type result{};
4272
9.85k
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4273
270
#if SCN_HAS_STD_REGEX_MULTILINE
4274
270
        result |= std::regex_constants::multiline;
4275
#else
4276
        return unexpected_scan_error(
4277
            scan_error::invalid_format_string,
4278
            "/m flag for regex isn't supported by regex backend");
4279
#endif
4280
270
    }
4281
9.85k
    if ((flags & detail::regex_flags::singleline) !=
4282
9.85k
        detail::regex_flags::none) {
4283
0
        return unexpected_scan_error(
4284
0
            scan_error::invalid_format_string,
4285
0
            "/s flag for regex isn't supported by regex backend");
4286
0
    }
4287
9.85k
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4288
918
        result |= std::regex_constants::icase;
4289
918
    }
4290
9.85k
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4291
6
        result |= std::regex_constants::nosubs;
4292
6
    }
4293
9.85k
    return result;
4294
9.85k
}
4295
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4296
constexpr auto make_regex_flags(detail::regex_flags flags)
4297
    -> boost::regex_constants::syntax_option_type
4298
{
4299
    boost::regex_constants::syntax_option_type result{};
4300
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4301
        result |= boost::regex_constants::no_mod_m;
4302
    }
4303
    if ((flags & detail::regex_flags::singleline) !=
4304
        detail::regex_flags::none) {
4305
        result |= boost::regex_constants::mod_s;
4306
    }
4307
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4308
        result |= boost::regex_constants::icase;
4309
    }
4310
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4311
        result |= boost::regex_constants::nosubs;
4312
    }
4313
    return result;
4314
}
4315
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4316
inline auto make_regex_flags(detail::regex_flags flags)
4317
    -> std::pair<RE2::Options, std::string_view>
4318
{
4319
    RE2::Options opt{RE2::Quiet};
4320
    std::string_view stringflags{};
4321
4322
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4323
        stringflags = "(?m)";
4324
    }
4325
    if ((flags & detail::regex_flags::singleline) !=
4326
        detail::regex_flags::none) {
4327
        opt.set_dot_nl(true);
4328
    }
4329
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4330
        opt.set_case_sensitive(false);
4331
    }
4332
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4333
        opt.set_never_capture(true);
4334
    }
4335
4336
    return {opt, stringflags};
4337
}
4338
#endif  // SCN_REGEX_BACKEND == ...
4339
4340
template <typename CharT, typename Input>
4341
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4342
                            detail::regex_flags flags,
4343
                            Input input)
4344
    -> scan_expected<ranges::iterator_t<Input>>
4345
9.85k
{
4346
9.85k
    static_assert(ranges::contiguous_range<Input> &&
4347
9.85k
                  ranges::borrowed_range<Input> &&
4348
9.85k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
9.85k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
9.85k
    std::basic_regex<CharT> re{};
4352
9.85k
    try {
4353
9.85k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
9.85k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
9.85k
                                     re_flags | std::regex_constants::nosubs};
4356
9.85k
    }
4357
9.85k
    catch (const std::regex_error& err) {
4358
5.24k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
5.24k
                                     "Invalid regex");
4360
5.24k
    }
4361
4362
4.61k
    std::match_results<const CharT*> matches{};
4363
4.61k
    try {
4364
4.61k
        bool found = std::regex_search(input.data(),
4365
4.61k
                                       input.data() + input.size(), matches, re,
4366
4.61k
                                       std::regex_constants::match_continuous);
4367
4.61k
        if (!found || matches.prefix().matched) {
4368
2.85k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.85k
                                         "Regular expression didn't match");
4370
2.85k
        }
4371
4.61k
    }
4372
4.61k
    catch (const std::regex_error& err) {
4373
138
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
138
                                     "Regex matching failed with an error");
4375
138
    }
4376
4377
1.62k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.61k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
9.66k
{
4346
9.66k
    static_assert(ranges::contiguous_range<Input> &&
4347
9.66k
                  ranges::borrowed_range<Input> &&
4348
9.66k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
9.66k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
9.66k
    std::basic_regex<CharT> re{};
4352
9.66k
    try {
4353
9.66k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
9.66k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
9.66k
                                     re_flags | std::regex_constants::nosubs};
4356
9.66k
    }
4357
9.66k
    catch (const std::regex_error& err) {
4358
5.14k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
5.14k
                                     "Invalid regex");
4360
5.14k
    }
4361
4362
4.51k
    std::match_results<const CharT*> matches{};
4363
4.51k
    try {
4364
4.51k
        bool found = std::regex_search(input.data(),
4365
4.51k
                                       input.data() + input.size(), matches, re,
4366
4.51k
                                       std::regex_constants::match_continuous);
4367
4.51k
        if (!found || matches.prefix().matched) {
4368
2.76k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.76k
                                         "Regular expression didn't match");
4370
2.76k
        }
4371
4.51k
    }
4372
4.51k
    catch (const std::regex_error& err) {
4373
138
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
138
                                     "Regex matching failed with an error");
4375
138
    }
4376
4377
1.62k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.51k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
192
{
4346
192
    static_assert(ranges::contiguous_range<Input> &&
4347
192
                  ranges::borrowed_range<Input> &&
4348
192
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
192
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
192
    std::basic_regex<CharT> re{};
4352
192
    try {
4353
192
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
192
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
192
                                     re_flags | std::regex_constants::nosubs};
4356
192
    }
4357
192
    catch (const std::regex_error& err) {
4358
96
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
96
                                     "Invalid regex");
4360
96
    }
4361
4362
96
    std::match_results<const CharT*> matches{};
4363
96
    try {
4364
96
        bool found = std::regex_search(input.data(),
4365
96
                                       input.data() + input.size(), matches, re,
4366
96
                                       std::regex_constants::match_continuous);
4367
96
        if (!found || matches.prefix().matched) {
4368
96
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
96
                                         "Regular expression didn't match");
4370
96
        }
4371
96
    }
4372
96
    catch (const std::regex_error& err) {
4373
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
0
                                     "Regex matching failed with an error");
4375
0
    }
4376
4377
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
96
}
4448
4449
template <typename CharT, typename Input>
4450
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4451
                             detail::regex_flags flags,
4452
                             Input input,
4453
                             basic_regex_matches<CharT>& value)
4454
    -> scan_expected<ranges::iterator_t<Input>>
4455
0
{
4456
0
    static_assert(ranges::contiguous_range<Input> &&
4457
0
                  ranges::borrowed_range<Input> &&
4458
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4459
4460
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4461
0
    std::basic_regex<CharT> re{};
4462
0
    try {
4463
0
        SCN_TRY(re_flags, make_regex_flags(flags));
4464
0
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4465
0
    }
4466
0
    catch (const std::regex_error& err) {
4467
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4468
0
                                     "Invalid regex");
4469
0
    }
4470
4471
0
    std::match_results<const CharT*> matches{};
4472
0
    try {
4473
0
        bool found = std::regex_search(input.data(),
4474
0
                                       input.data() + input.size(), matches, re,
4475
0
                                       std::regex_constants::match_continuous);
4476
0
        if (!found || matches.prefix().matched) {
4477
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4478
0
                                         "Regular expression didn't match");
4479
0
        }
4480
0
    }
4481
0
    catch (const std::regex_error& err) {
4482
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4483
0
                                     "Regex matching failed with an error");
4484
0
    }
4485
4486
0
    value.resize(matches.size());
4487
0
    std::transform(matches.begin(), matches.end(), value.begin(),
4488
0
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4489
0
                       if (!match.matched)
4490
0
                           return std::nullopt;
4491
0
                       return detail::make_string_view_from_pointers(
4492
0
                           match.first, match.second);
4493
0
                   });
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKcEEEENS3_8optionalINS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIcEEEESQ_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKwEEEENS3_8optionalINS0_17basic_regex_matchIwEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIwEEEESQ_
4494
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4495
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4496
    std::vector<std::basic_string<CharT>> names;
4497
    for (size_t i = 0; i < pattern.size();) {
4498
        if constexpr (std::is_same_v<CharT, char>) {
4499
            i = pattern.find("(?<", i);
4500
        }
4501
        else {
4502
            i = pattern.find(L"(?<", i);
4503
        }
4504
4505
        if (i == std::basic_string_view<CharT>::npos) {
4506
            break;
4507
        }
4508
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4509
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4510
                i += 3;
4511
                continue;
4512
            }
4513
        }
4514
4515
        i += 3;
4516
        auto end_i = pattern.find(CharT{'>'}, i);
4517
        if (end_i == std::basic_string_view<CharT>::npos) {
4518
            break;
4519
        }
4520
        names.emplace_back(pattern.substr(i, end_i - i));
4521
    }
4522
4523
    auto re =
4524
#if SCN_REGEX_BOOST_USE_ICU
4525
        boost::make_u32regex(
4526
            pattern.data(), pattern.data() + pattern.size(),
4527
            make_regex_flags(flags) | boost::regex_constants::no_except);
4528
#else
4529
        boost::basic_regex<CharT>{
4530
            pattern.data(), pattern.size(),
4531
            make_regex_flags(flags) | boost::regex_constants::no_except};
4532
#endif
4533
    if (re.status() != 0) {
4534
        return unexpected_scan_error(scan_error::invalid_format_string,
4535
                                     "Invalid regex");
4536
    }
4537
4538
    boost::match_results<const CharT*> matches{};
4539
    try {
4540
        bool found =
4541
#if SCN_REGEX_BOOST_USE_ICU
4542
            boost::u32regex_search(input.data(), input.data() + input.size(),
4543
                                   matches, re,
4544
                                   boost::regex_constants::match_continuous);
4545
#else
4546
            boost::regex_search(input.data(), input.data() + input.size(),
4547
                                matches, re,
4548
                                boost::regex_constants::match_continuous);
4549
#endif
4550
        if (!found || matches.prefix().matched) {
4551
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4552
                                         "Regular expression didn't match");
4553
        }
4554
    }
4555
    catch (const std::runtime_error& err) {
4556
        return unexpected_scan_error(scan_error::invalid_format_string,
4557
                                     "Regex matching failed with an error");
4558
    }
4559
4560
    value.resize(matches.size());
4561
    std::transform(
4562
        matches.begin(), matches.end(), value.begin(),
4563
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4564
            if (!match.matched)
4565
                return std::nullopt;
4566
            auto sv = detail::make_string_view_from_pointers(match.first,
4567
                                                             match.second);
4568
4569
            if (auto name_it = std::find_if(
4570
                    names.begin(), names.end(),
4571
                    [&](const auto& name) { return match == matches[name]; });
4572
                name_it != names.end()) {
4573
                return basic_regex_match<CharT>{sv, *name_it};
4574
            }
4575
            return sv;
4576
        });
4577
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4578
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4579
    static_assert(std::is_same_v<CharT, char>);
4580
    std::string flagged_pattern{};
4581
    auto re = [&]() {
4582
        auto [opts, flagstr] = make_regex_flags(flags);
4583
        if (flagstr.empty()) {
4584
            return re2::RE2{pattern, opts};
4585
        }
4586
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4587
        flagged_pattern.append(flagstr);
4588
        flagged_pattern.append(pattern);
4589
        return re2::RE2{flagged_pattern, opts};
4590
    }();
4591
    if (!re.ok()) {
4592
        return unexpected_scan_error(scan_error::invalid_format_string,
4593
                                     "Failed to parse regular expression");
4594
    }
4595
    // TODO: Optimize into a single batch allocation
4596
    const auto max_matches_n =
4597
        static_cast<size_t>(re.NumberOfCapturingGroups());
4598
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4599
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4600
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4601
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4602
                   [](auto& val) { return re2::RE2::Arg{&val}; });
4603
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4604
                   [](auto& arg) { return &arg; });
4605
    auto new_input = detail::make_string_view_from_pointers(
4606
        detail::to_address(input.begin()), detail::to_address(input.end()));
4607
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4608
                                    match_argptrs.size());
4609
    if (!found) {
4610
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4611
                                     "Regular expression didn't match");
4612
    }
4613
    value.resize(matches.size() + 1);
4614
    value[0] =
4615
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4616
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4617
                   [&](auto&& match) -> std::optional<regex_match> {
4618
                       if (!match)
4619
                           return std::nullopt;
4620
                       return *match;
4621
                   });
4622
    {
4623
        const auto& capturing_groups = re.CapturingGroupNames();
4624
        for (size_t i = 1; i < value.size(); ++i) {
4625
            if (auto it = capturing_groups.find(static_cast<int>(i));
4626
                it != capturing_groups.end()) {
4627
                auto val = value[i]->get();
4628
                value[i].emplace(val, it->second);
4629
            };
4630
        }
4631
    }
4632
    return input.begin() + ranges::distance(input.data(), new_input.data());
4633
#endif  // SCN_REGEX_BACKEND == ...
4634
0
}
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4635
4636
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4637
1.04k
{
4638
1.04k
    std::string result{pattern};
4639
9.64k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4640
8.59k
        result.replace(n, 2, "/");
4641
8.59k
        ++n;
4642
8.59k
    }
4643
1.04k
    return result;
4644
1.04k
}
4645
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4646
0
{
4647
0
    std::wstring result{pattern};
4648
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4649
0
        result.replace(n, 2, L"/");
4650
0
        ++n;
4651
0
    }
4652
0
    return result;
4653
0
}
4654
4655
#endif  // !SCN_DISABLE_REGEX
4656
4657
template <typename SourceCharT>
4658
struct regex_matches_reader
4659
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4660
    void check_specs_impl(const detail::format_specs& specs,
4661
                          reader_error_handler& eh)
4662
0
    {
4663
0
        detail::check_regex_type_specs(specs, eh);
4664
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4665
0
        SCN_EXPECT(specs.charset_string_size > 0);
4666
0
    }
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
4667
4668
    template <typename Range, typename DestCharT>
4669
    auto read_default(Range,
4670
                      basic_regex_matches<DestCharT>&,
4671
                      detail::locale_ref = {})
4672
        -> scan_expected<ranges::const_iterator_t<Range>>
4673
0
    {
4674
0
        return unexpected_scan_error(
4675
0
            scan_error::invalid_format_string,
4676
0
            "No regex given in format string for scanning regex_matches");
4677
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
4678
4679
    template <typename Range, typename DestCharT>
4680
    auto read_specs(Range range,
4681
                    const detail::format_specs& specs,
4682
                    basic_regex_matches<DestCharT>& value,
4683
                    detail::locale_ref = {})
4684
        -> scan_expected<ranges::const_iterator_t<Range>>
4685
0
    {
4686
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4687
0
            return unexpected_scan_error(
4688
0
                scan_error::invalid_scanned_value,
4689
0
                "Cannot transcode is regex_matches_reader");
4690
0
        }
4691
0
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4692
0
                           !std::is_same_v<SourceCharT, char>) {
4693
0
            return unexpected_scan_error(
4694
0
                scan_error::invalid_scanned_value,
4695
0
                "Regex backend doesn't support wide strings as input");
4696
0
        }
4697
0
        else {
4698
0
            if (!is_entire_source_contiguous(range)) {
4699
0
                return unexpected_scan_error(
4700
0
                    scan_error::invalid_scanned_value,
4701
0
                    "Cannot use regex with a non-contiguous source "
4702
0
                    "range");
4703
0
            }
4704
4705
0
            auto input = get_as_contiguous(range);
4706
0
            SCN_TRY(it,
4707
0
                    impl(input,
4708
0
                         specs.type == detail::presentation_type::regex_escaped,
4709
0
                         specs.charset_string<SourceCharT>(),
4710
0
                         specs.regexp_flags, value));
4711
0
            return ranges::next(range.begin(),
4712
0
                                ranges::distance(input.begin(), it));
4713
0
        }
4714
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4715
4716
private:
4717
    template <typename Range, typename DestCharT>
4718
    auto impl(Range input,
4719
              bool is_escaped,
4720
              std::basic_string_view<SourceCharT> pattern,
4721
              detail::regex_flags flags,
4722
              basic_regex_matches<DestCharT>& value)
4723
0
    {
4724
0
        if constexpr (detail::is_type_disabled<
4725
0
                          basic_regex_matches<DestCharT>>) {
4726
0
            SCN_EXPECT(false);
4727
0
            SCN_UNREACHABLE;
4728
0
        }
4729
0
        else {
4730
0
            if (is_escaped) {
4731
0
                return read_regex_matches_impl<SourceCharT>(
4732
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4733
0
            }
4734
0
            return read_regex_matches_impl(pattern, flags, input, value);
4735
0
        }
4736
0
    }
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
4737
};
4738
4739
template <typename CharT>
4740
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4741
4742
/////////////////////////////////////////////////////////////////
4743
// String reader
4744
/////////////////////////////////////////////////////////////////
4745
4746
template <typename Range, typename Iterator, typename ValueCharT>
4747
auto read_string_impl(Range range,
4748
                      Iterator&& result,
4749
                      std::basic_string<ValueCharT>& value)
4750
    -> scan_expected<ranges::const_iterator_t<Range>>
4751
41.1M
{
4752
41.1M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
41.1M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
41.1M
    if (!validate_unicode(src.view())) {
4756
11.6k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
11.6k
                                     "Invalid encoding in scanned string");
4758
11.6k
    }
4759
41.0M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
41.0M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
41.0M
    return SCN_MOVE(result);
4765
41.0M
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
155k
{
4752
155k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
155k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
155k
    if (!validate_unicode(src.view())) {
4756
1.31k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
1.31k
                                     "Invalid encoding in scanned string");
4758
1.31k
    }
4759
154k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
154k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
154k
    return SCN_MOVE(result);
4765
154k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
834
{
4752
834
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
834
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
834
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
834
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
834
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
834
    return SCN_MOVE(result);
4765
834
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
390
{
4752
390
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
390
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
390
    if (!validate_unicode(src.view())) {
4756
208
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
208
                                     "Invalid encoding in scanned string");
4758
208
    }
4759
182
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
182
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
182
    return SCN_MOVE(result);
4765
182
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
206
{
4752
206
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
206
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
206
    if (!validate_unicode(src.view())) {
4756
62
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
62
                                     "Invalid encoding in scanned string");
4758
62
    }
4759
144
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
144
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
144
    return SCN_MOVE(result);
4765
144
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
154k
{
4752
154k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
154k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
154k
    if (!validate_unicode(src.view())) {
4756
1.68k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
1.68k
                                     "Invalid encoding in scanned string");
4758
1.68k
    }
4759
153k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
153k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
153k
    return SCN_MOVE(result);
4765
153k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
2.14k
{
4752
2.14k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
2.14k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
2.14k
    if (!validate_unicode(src.view())) {
4756
110
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
110
                                     "Invalid encoding in scanned string");
4758
110
    }
4759
2.03k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
2.03k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
2.03k
    return SCN_MOVE(result);
4765
2.03k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
390
{
4752
390
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
390
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
390
    if (!validate_unicode(src.view())) {
4756
208
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
208
                                     "Invalid encoding in scanned string");
4758
208
    }
4759
182
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
182
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
182
    return SCN_MOVE(result);
4765
182
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
206
{
4752
206
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
206
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
206
    if (!validate_unicode(src.view())) {
4756
62
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
62
                                     "Invalid encoding in scanned string");
4758
62
    }
4759
144
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
144
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
144
    return SCN_MOVE(result);
4765
144
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
992
{
4752
992
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
992
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
992
    if (!validate_unicode(src.view())) {
4756
318
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
318
                                     "Invalid encoding in scanned string");
4758
318
    }
4759
674
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
674
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
674
    return SCN_MOVE(result);
4765
674
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.31k
{
4752
1.31k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.31k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.31k
    if (!validate_unicode(src.view())) {
4756
110
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
110
                                     "Invalid encoding in scanned string");
4758
110
    }
4759
1.20k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.20k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.20k
    return SCN_MOVE(result);
4765
1.20k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
10
{
4752
10
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
10
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
10
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
10
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
10
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
10
    return SCN_MOVE(result);
4765
10
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
1.01k
{
4752
1.01k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.01k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.01k
    if (!validate_unicode(src.view())) {
4756
364
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
364
                                     "Invalid encoding in scanned string");
4758
364
    }
4759
648
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
648
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
648
    return SCN_MOVE(result);
4765
648
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
20.3M
{
4752
20.3M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
20.3M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
20.3M
    if (!validate_unicode(src.view())) {
4756
3.41k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
3.41k
                                     "Invalid encoding in scanned string");
4758
3.41k
    }
4759
20.3M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
20.3M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
20.3M
    return SCN_MOVE(result);
4765
20.3M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
34
{
4752
34
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
34
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
34
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
34
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
34
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
34
    return SCN_MOVE(result);
4765
34
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
10
{
4752
10
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
10
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
10
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
10
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
10
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
10
    return SCN_MOVE(result);
4765
10
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
20.3M
{
4752
20.3M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
20.3M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
20.3M
    if (!validate_unicode(src.view())) {
4756
3.77k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
3.77k
                                     "Invalid encoding in scanned string");
4758
3.77k
    }
4759
20.3M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
20.3M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
20.3M
    return SCN_MOVE(result);
4765
20.3M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
34
{
4752
34
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
34
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
34
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
34
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
34
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
34
    return SCN_MOVE(result);
4765
34
}
4766
4767
template <typename Range, typename Iterator, typename ValueCharT>
4768
auto read_string_view_impl(Range range,
4769
                           Iterator&& result,
4770
                           std::basic_string_view<ValueCharT>& value)
4771
    -> scan_expected<ranges::const_iterator_t<Range>>
4772
20.5M
{
4773
20.5M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
20.5M
    auto src = [&]() {
4776
20.5M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
20.5M
            return make_contiguous_buffer(
4778
20.5M
                ranges::subrange{range.begin().base(), result.base()});
4779
20.5M
        }
4780
20.5M
        else {
4781
20.5M
            return make_contiguous_buffer(
4782
20.5M
                ranges::subrange{range.begin(), result});
4783
20.5M
        }
4784
20.5M
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
390
    auto src = [&]() {
4776
390
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
390
            return make_contiguous_buffer(
4778
390
                ranges::subrange{range.begin().base(), result.base()});
4779
390
        }
4780
390
        else {
4781
390
            return make_contiguous_buffer(
4782
390
                ranges::subrange{range.begin(), result});
4783
390
        }
4784
390
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
206
    auto src = [&]() {
4776
206
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
206
            return make_contiguous_buffer(
4778
206
                ranges::subrange{range.begin().base(), result.base()});
4779
206
        }
4780
206
        else {
4781
206
            return make_contiguous_buffer(
4782
206
                ranges::subrange{range.begin(), result});
4783
206
        }
4784
206
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
154k
    auto src = [&]() {
4776
154k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
154k
            return make_contiguous_buffer(
4778
154k
                ranges::subrange{range.begin().base(), result.base()});
4779
154k
        }
4780
154k
        else {
4781
154k
            return make_contiguous_buffer(
4782
154k
                ranges::subrange{range.begin(), result});
4783
154k
        }
4784
154k
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
2.14k
    auto src = [&]() {
4776
2.14k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.14k
            return make_contiguous_buffer(
4778
2.14k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.14k
        }
4780
2.14k
        else {
4781
2.14k
            return make_contiguous_buffer(
4782
2.14k
                ranges::subrange{range.begin(), result});
4783
2.14k
        }
4784
2.14k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
10
    auto src = [&]() {
4776
10
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
10
            return make_contiguous_buffer(
4778
10
                ranges::subrange{range.begin().base(), result.base()});
4779
10
        }
4780
10
        else {
4781
10
            return make_contiguous_buffer(
4782
10
                ranges::subrange{range.begin(), result});
4783
10
        }
4784
10
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
20.3M
    auto src = [&]() {
4776
20.3M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
20.3M
            return make_contiguous_buffer(
4778
20.3M
                ranges::subrange{range.begin().base(), result.base()});
4779
20.3M
        }
4780
20.3M
        else {
4781
20.3M
            return make_contiguous_buffer(
4782
20.3M
                ranges::subrange{range.begin(), result});
4783
20.3M
        }
4784
20.3M
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
34
    auto src = [&]() {
4776
34
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
34
            return make_contiguous_buffer(
4778
34
                ranges::subrange{range.begin().base(), result.base()});
4779
34
        }
4780
34
        else {
4781
34
            return make_contiguous_buffer(
4782
34
                ranges::subrange{range.begin(), result});
4783
34
        }
4784
34
    }();
4785
20.5M
    using src_type = decltype(src);
4786
4787
20.5M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
20.5M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
20.5M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
20.5M
                                     "Cannot read a string_view from "
4796
20.5M
                                     "this source range (would require "
4797
20.5M
                                     "transcoding)");
4798
20.5M
    }
4799
20.5M
    else {
4800
20.5M
        const auto view = src.view();
4801
20.5M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
20.5M
        if (!validate_unicode(value)) {
4804
5.84k
            return unexpected_scan_error(
4805
5.84k
                scan_error::invalid_scanned_value,
4806
5.84k
                "Invalid encoding in scanned string_view");
4807
5.84k
        }
4808
4809
20.5M
        return SCN_MOVE(result);
4810
20.5M
    }
4811
20.5M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
390
{
4773
390
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
390
    auto src = [&]() {
4776
390
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
390
            return make_contiguous_buffer(
4778
390
                ranges::subrange{range.begin().base(), result.base()});
4779
390
        }
4780
390
        else {
4781
390
            return make_contiguous_buffer(
4782
390
                ranges::subrange{range.begin(), result});
4783
390
        }
4784
390
    }();
4785
390
    using src_type = decltype(src);
4786
4787
390
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
390
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
390
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
390
                                     "Cannot read a string_view from "
4796
390
                                     "this source range (would require "
4797
390
                                     "transcoding)");
4798
390
    }
4799
390
    else {
4800
390
        const auto view = src.view();
4801
390
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
390
        if (!validate_unicode(value)) {
4804
208
            return unexpected_scan_error(
4805
208
                scan_error::invalid_scanned_value,
4806
208
                "Invalid encoding in scanned string_view");
4807
208
        }
4808
4809
182
        return SCN_MOVE(result);
4810
390
    }
4811
390
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
206
{
4773
206
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
206
    auto src = [&]() {
4776
206
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
206
            return make_contiguous_buffer(
4778
206
                ranges::subrange{range.begin().base(), result.base()});
4779
206
        }
4780
206
        else {
4781
206
            return make_contiguous_buffer(
4782
206
                ranges::subrange{range.begin(), result});
4783
206
        }
4784
206
    }();
4785
206
    using src_type = decltype(src);
4786
4787
206
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
206
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
206
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
206
                                     "Cannot read a string_view from "
4796
206
                                     "this source range (would require "
4797
206
                                     "transcoding)");
4798
206
    }
4799
206
    else {
4800
206
        const auto view = src.view();
4801
206
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
206
        if (!validate_unicode(value)) {
4804
62
            return unexpected_scan_error(
4805
62
                scan_error::invalid_scanned_value,
4806
62
                "Invalid encoding in scanned string_view");
4807
62
        }
4808
4809
144
        return SCN_MOVE(result);
4810
206
    }
4811
206
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
154k
{
4773
154k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
154k
    auto src = [&]() {
4776
154k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
154k
            return make_contiguous_buffer(
4778
154k
                ranges::subrange{range.begin().base(), result.base()});
4779
154k
        }
4780
154k
        else {
4781
154k
            return make_contiguous_buffer(
4782
154k
                ranges::subrange{range.begin(), result});
4783
154k
        }
4784
154k
    }();
4785
154k
    using src_type = decltype(src);
4786
4787
154k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
154k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
154k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
154k
                                     "Cannot read a string_view from "
4796
154k
                                     "this source range (would require "
4797
154k
                                     "transcoding)");
4798
154k
    }
4799
154k
    else {
4800
154k
        const auto view = src.view();
4801
154k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
154k
        if (!validate_unicode(value)) {
4804
1.68k
            return unexpected_scan_error(
4805
1.68k
                scan_error::invalid_scanned_value,
4806
1.68k
                "Invalid encoding in scanned string_view");
4807
1.68k
        }
4808
4809
153k
        return SCN_MOVE(result);
4810
154k
    }
4811
154k
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
2.14k
{
4773
2.14k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
2.14k
    auto src = [&]() {
4776
2.14k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.14k
            return make_contiguous_buffer(
4778
2.14k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.14k
        }
4780
2.14k
        else {
4781
2.14k
            return make_contiguous_buffer(
4782
2.14k
                ranges::subrange{range.begin(), result});
4783
2.14k
        }
4784
2.14k
    }();
4785
2.14k
    using src_type = decltype(src);
4786
4787
2.14k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
2.14k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
2.14k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
2.14k
                                     "Cannot read a string_view from "
4796
2.14k
                                     "this source range (would require "
4797
2.14k
                                     "transcoding)");
4798
2.14k
    }
4799
2.14k
    else {
4800
2.14k
        const auto view = src.view();
4801
2.14k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
2.14k
        if (!validate_unicode(value)) {
4804
110
            return unexpected_scan_error(
4805
110
                scan_error::invalid_scanned_value,
4806
110
                "Invalid encoding in scanned string_view");
4807
110
        }
4808
4809
2.03k
        return SCN_MOVE(result);
4810
2.14k
    }
4811
2.14k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
10
{
4773
10
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
10
    auto src = [&]() {
4776
10
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
10
            return make_contiguous_buffer(
4778
10
                ranges::subrange{range.begin().base(), result.base()});
4779
10
        }
4780
10
        else {
4781
10
            return make_contiguous_buffer(
4782
10
                ranges::subrange{range.begin(), result});
4783
10
        }
4784
10
    }();
4785
10
    using src_type = decltype(src);
4786
4787
10
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
10
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
10
                                     "Cannot read a string_view from "
4796
10
                                     "this source range (would require "
4797
10
                                     "transcoding)");
4798
10
    }
4799
10
    else {
4800
10
        const auto view = src.view();
4801
10
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
10
        if (!validate_unicode(value)) {
4804
0
            return unexpected_scan_error(
4805
0
                scan_error::invalid_scanned_value,
4806
0
                "Invalid encoding in scanned string_view");
4807
0
        }
4808
4809
10
        return SCN_MOVE(result);
4810
10
    }
4811
10
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
20.3M
{
4773
20.3M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
20.3M
    auto src = [&]() {
4776
20.3M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
20.3M
            return make_contiguous_buffer(
4778
20.3M
                ranges::subrange{range.begin().base(), result.base()});
4779
20.3M
        }
4780
20.3M
        else {
4781
20.3M
            return make_contiguous_buffer(
4782
20.3M
                ranges::subrange{range.begin(), result});
4783
20.3M
        }
4784
20.3M
    }();
4785
20.3M
    using src_type = decltype(src);
4786
4787
20.3M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
20.3M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
20.3M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
20.3M
                                     "Cannot read a string_view from "
4796
20.3M
                                     "this source range (would require "
4797
20.3M
                                     "transcoding)");
4798
20.3M
    }
4799
20.3M
    else {
4800
20.3M
        const auto view = src.view();
4801
20.3M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
20.3M
        if (!validate_unicode(value)) {
4804
3.77k
            return unexpected_scan_error(
4805
3.77k
                scan_error::invalid_scanned_value,
4806
3.77k
                "Invalid encoding in scanned string_view");
4807
3.77k
        }
4808
4809
20.3M
        return SCN_MOVE(result);
4810
20.3M
    }
4811
20.3M
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
34
{
4773
34
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
34
    auto src = [&]() {
4776
34
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
34
            return make_contiguous_buffer(
4778
34
                ranges::subrange{range.begin().base(), result.base()});
4779
34
        }
4780
34
        else {
4781
34
            return make_contiguous_buffer(
4782
34
                ranges::subrange{range.begin(), result});
4783
34
        }
4784
34
    }();
4785
34
    using src_type = decltype(src);
4786
4787
34
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
34
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
34
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
34
                                     "Cannot read a string_view from "
4796
34
                                     "this source range (would require "
4797
34
                                     "transcoding)");
4798
34
    }
4799
34
    else {
4800
34
        const auto view = src.view();
4801
34
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
34
        if (!validate_unicode(value)) {
4804
0
            return unexpected_scan_error(
4805
0
                scan_error::invalid_scanned_value,
4806
0
                "Invalid encoding in scanned string_view");
4807
0
        }
4808
4809
34
        return SCN_MOVE(result);
4810
34
    }
4811
34
}
4812
4813
template <typename SourceCharT>
4814
class word_reader_impl {
4815
public:
4816
    template <typename Range, typename ValueCharT>
4817
    auto read(Range range, std::basic_string<ValueCharT>& value)
4818
        -> scan_expected<ranges::const_iterator_t<Range>>
4819
41.0M
    {
4820
41.0M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
41.0M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
155k
    {
4820
155k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
155k
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
246
    {
4820
246
        return read_string_impl(range, read_until_classic_space(range), value);
4821
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
154k
    {
4820
154k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
154k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
246
    {
4820
246
        return read_string_impl(range, read_until_classic_space(range), value);
4821
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
938
    {
4820
938
        return read_string_impl(range, read_until_classic_space(range), value);
4821
938
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
10
    {
4820
10
        return read_string_impl(range, read_until_classic_space(range), value);
4821
10
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
1.01k
    {
4820
1.01k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
1.01k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
20.3M
    {
4820
20.3M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
20.3M
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
10
    {
4820
10
        return read_string_impl(range, read_until_classic_space(range), value);
4821
10
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
20.3M
    {
4820
20.3M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
20.3M
    }
4822
4823
    template <typename Range, typename ValueCharT>
4824
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4825
        -> scan_expected<ranges::const_iterator_t<Range>>
4826
20.5M
    {
4827
20.5M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
20.5M
                                     value);
4829
20.5M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
246
    {
4827
246
        return read_string_view_impl(range, read_until_classic_space(range),
4828
246
                                     value);
4829
246
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
154k
    {
4827
154k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
154k
                                     value);
4829
154k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
10
    {
4827
10
        return read_string_view_impl(range, read_until_classic_space(range),
4828
10
                                     value);
4829
10
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
20.3M
    {
4827
20.3M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
20.3M
                                     value);
4829
20.3M
    }
4830
};
4831
4832
template <typename SourceCharT>
4833
class custom_word_reader_impl {
4834
public:
4835
    template <typename Range, typename ValueCharT>
4836
    auto read(Range range,
4837
              const detail::format_specs& specs,
4838
              std::basic_string<ValueCharT>& value)
4839
        -> scan_expected<ranges::const_iterator_t<Range>>
4840
312
    {
4841
312
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
252
            return read_string_impl(
4843
252
                range,
4844
252
                read_until_code_unit(
4845
252
                    range,
4846
252
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
8.96k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
3.18k
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
1.30k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
3.18k
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
1.30k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
4848
252
                value);
4849
252
        }
4850
60
        return read_string_impl(
4851
60
            range,
4852
60
            read_until_code_units(
4853
60
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
60
            value);
4855
312
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
102
    {
4841
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
88
            return read_string_impl(
4843
88
                range,
4844
88
                read_until_code_unit(
4845
88
                    range,
4846
88
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
88
                        SourceCharT ch) { return ch == until; }),
4848
88
                value);
4849
88
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
102
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
54
    {
4841
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
38
            return read_string_impl(
4843
38
                range,
4844
38
                read_until_code_unit(
4845
38
                    range,
4846
38
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
38
                        SourceCharT ch) { return ch == until; }),
4848
38
                value);
4849
38
        }
4850
16
        return read_string_impl(
4851
16
            range,
4852
16
            read_until_code_units(
4853
16
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
16
            value);
4855
54
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
102
    {
4841
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
88
            return read_string_impl(
4843
88
                range,
4844
88
                read_until_code_unit(
4845
88
                    range,
4846
88
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
88
                        SourceCharT ch) { return ch == until; }),
4848
88
                value);
4849
88
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
102
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
54
    {
4841
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
38
            return read_string_impl(
4843
38
                range,
4844
38
                read_until_code_unit(
4845
38
                    range,
4846
38
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
38
                        SourceCharT ch) { return ch == until; }),
4848
38
                value);
4849
38
        }
4850
16
        return read_string_impl(
4851
16
            range,
4852
16
            read_until_code_units(
4853
16
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
16
            value);
4855
54
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
4856
4857
    template <typename Range, typename ValueCharT>
4858
    auto read(Range range,
4859
              const detail::format_specs& specs,
4860
              std::basic_string_view<ValueCharT>& value)
4861
        -> scan_expected<ranges::const_iterator_t<Range>>
4862
156
    {
4863
156
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
126
            return read_string_view_impl(
4865
126
                range,
4866
126
                read_until_code_unit(
4867
126
                    range,
4868
126
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
4.48k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Line
Count
Source
4869
3.18k
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Line
Count
Source
4869
1.30k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
4870
126
                value);
4871
126
        }
4872
30
        return read_string_view_impl(
4873
30
            range,
4874
30
            read_until_code_units(
4875
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
30
            value);
4877
156
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
102
    {
4863
102
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
88
            return read_string_view_impl(
4865
88
                range,
4866
88
                read_until_code_unit(
4867
88
                    range,
4868
88
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
88
                        SourceCharT ch) { return ch == until; }),
4870
88
                value);
4871
88
        }
4872
14
        return read_string_view_impl(
4873
14
            range,
4874
14
            read_until_code_units(
4875
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
14
            value);
4877
102
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
54
    {
4863
54
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
38
            return read_string_view_impl(
4865
38
                range,
4866
38
                read_until_code_unit(
4867
38
                    range,
4868
38
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
38
                        SourceCharT ch) { return ch == until; }),
4870
38
                value);
4871
38
        }
4872
16
        return read_string_view_impl(
4873
16
            range,
4874
16
            read_until_code_units(
4875
16
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
16
            value);
4877
54
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
4878
};
4879
4880
#if !SCN_DISABLE_REGEX
4881
template <typename SourceCharT>
4882
class regex_string_reader_impl {
4883
public:
4884
    template <typename Range, typename ValueCharT>
4885
    auto read(Range range,
4886
              std::basic_string_view<SourceCharT> pattern,
4887
              detail::regex_flags flags,
4888
              std::basic_string<ValueCharT>& value)
4889
        -> scan_expected<ranges::const_iterator_t<Range>>
4890
6.86k
    {
4891
6.86k
        SCN_TRY(it, impl(range, pattern, flags));
4892
1.08k
        return read_string_impl(range, it, value);
4893
6.86k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
148
    {
4891
148
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
148
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.22k
    {
4891
3.22k
        SCN_TRY(it, impl(range, pattern, flags));
4892
540
        return read_string_impl(range, it, value);
4893
3.22k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
148
    {
4891
148
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
148
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.22k
    {
4891
3.22k
        SCN_TRY(it, impl(range, pattern, flags));
4892
540
        return read_string_impl(range, it, value);
4893
3.22k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
64
    {
4891
64
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
64
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
64
    {
4891
64
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
64
    }
4894
4895
    template <typename Range, typename ValueCharT>
4896
    auto read(Range range,
4897
              std::basic_string_view<SourceCharT> pattern,
4898
              detail::regex_flags flags,
4899
              std::basic_string_view<ValueCharT>& value)
4900
        -> scan_expected<ranges::const_iterator_t<Range>>
4901
3.43k
    {
4902
3.43k
        SCN_TRY(it, impl(range, pattern, flags));
4903
540
        return read_string_view_impl(range, it, value);
4904
3.43k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
148
    {
4902
148
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
148
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
3.22k
    {
4902
3.22k
        SCN_TRY(it, impl(range, pattern, flags));
4903
540
        return read_string_view_impl(range, it, value);
4904
3.22k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
64
    {
4902
64
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
64
    }
4905
4906
private:
4907
    template <typename Range>
4908
    auto impl(Range range,
4909
              std::basic_string_view<SourceCharT> pattern,
4910
              detail::regex_flags flags)
4911
        -> scan_expected<ranges::const_iterator_t<Range>>
4912
10.3k
    {
4913
10.3k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
10.3k
                      !std::is_same_v<SourceCharT, char>) {
4915
10.3k
            return unexpected_scan_error(
4916
10.3k
                scan_error::invalid_scanned_value,
4917
10.3k
                "Regex backend doesn't support wide strings as input");
4918
10.3k
        }
4919
10.3k
        else {
4920
10.3k
            if (!is_entire_source_contiguous(range)) {
4921
444
                return unexpected_scan_error(
4922
444
                    scan_error::invalid_scanned_value,
4923
444
                    "Cannot use regex with a non-contiguous source "
4924
444
                    "range");
4925
444
            }
4926
4927
9.85k
            auto input = get_as_contiguous(range);
4928
9.85k
            SCN_TRY(it,
4929
1.62k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.62k
            return ranges::next(range.begin(),
4931
1.62k
                                ranges::distance(input.begin(), it));
4932
9.85k
        }
4933
10.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
444
    {
4913
444
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
444
                      !std::is_same_v<SourceCharT, char>) {
4915
444
            return unexpected_scan_error(
4916
444
                scan_error::invalid_scanned_value,
4917
444
                "Regex backend doesn't support wide strings as input");
4918
444
        }
4919
444
        else {
4920
444
            if (!is_entire_source_contiguous(range)) {
4921
444
                return unexpected_scan_error(
4922
444
                    scan_error::invalid_scanned_value,
4923
444
                    "Cannot use regex with a non-contiguous source "
4924
444
                    "range");
4925
444
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
444
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
9.66k
    {
4913
9.66k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
9.66k
                      !std::is_same_v<SourceCharT, char>) {
4915
9.66k
            return unexpected_scan_error(
4916
9.66k
                scan_error::invalid_scanned_value,
4917
9.66k
                "Regex backend doesn't support wide strings as input");
4918
9.66k
        }
4919
9.66k
        else {
4920
9.66k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
9.66k
            auto input = get_as_contiguous(range);
4928
9.66k
            SCN_TRY(it,
4929
1.62k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.62k
            return ranges::next(range.begin(),
4931
1.62k
                                ranges::distance(input.begin(), it));
4932
9.66k
        }
4933
9.66k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
192
    {
4913
192
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
192
                      !std::is_same_v<SourceCharT, char>) {
4915
192
            return unexpected_scan_error(
4916
192
                scan_error::invalid_scanned_value,
4917
192
                "Regex backend doesn't support wide strings as input");
4918
192
        }
4919
192
        else {
4920
192
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
192
            auto input = get_as_contiguous(range);
4928
192
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
192
        }
4933
192
    }
4934
};
4935
#endif
4936
4937
template <typename SourceCharT>
4938
class character_reader_impl {
4939
public:
4940
    // Note: no localized version,
4941
    // since it's equivalent in behavior
4942
4943
    template <typename Range, typename ValueCharT>
4944
    auto read(Range range, std::basic_string<ValueCharT>& value)
4945
        -> scan_expected<ranges::const_iterator_t<Range>>
4946
84
    {
4947
84
        return read_impl(
4948
84
            range,
4949
84
            [&](const auto& rng) {
4950
84
                return read_string_impl(rng, read_all(rng), value);
4951
84
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
42
            [&](const auto& rng) {
4950
42
                return read_string_impl(rng, read_all(rng), value);
4951
42
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
42
            [&](const auto& rng) {
4950
42
                return read_string_impl(rng, read_all(rng), value);
4951
42
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
4952
84
            detail::priority_tag<1>{});
4953
84
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
42
    {
4947
42
        return read_impl(
4948
42
            range,
4949
42
            [&](const auto& rng) {
4950
42
                return read_string_impl(rng, read_all(rng), value);
4951
42
            },
4952
42
            detail::priority_tag<1>{});
4953
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
42
    {
4947
42
        return read_impl(
4948
42
            range,
4949
42
            [&](const auto& rng) {
4950
42
                return read_string_impl(rng, read_all(rng), value);
4951
42
            },
4952
42
            detail::priority_tag<1>{});
4953
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
4954
4955
    template <typename Range, typename ValueCharT>
4956
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4957
        -> scan_expected<ranges::const_iterator_t<Range>>
4958
42
    {
4959
42
        return read_impl(
4960
42
            range,
4961
42
            [&](const auto& rng) {
4962
42
                return read_string_view_impl(rng, read_all(rng), value);
4963
42
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
42
            [&](const auto& rng) {
4962
42
                return read_string_view_impl(rng, read_all(rng), value);
4963
42
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
4964
42
            detail::priority_tag<1>{});
4965
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
42
    {
4959
42
        return read_impl(
4960
42
            range,
4961
42
            [&](const auto& rng) {
4962
42
                return read_string_view_impl(rng, read_all(rng), value);
4963
42
            },
4964
42
            detail::priority_tag<1>{});
4965
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
4966
4967
private:
4968
    template <typename View, typename ReadCb>
4969
    static auto read_impl(const take_width_view<View>& range,
4970
                          ReadCb&& read_cb,
4971
                          detail::priority_tag<1>)
4972
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
4973
126
    {
4974
126
        return read_cb(range);
4975
126
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
42
    {
4974
42
        return read_cb(range);
4975
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
42
    {
4974
42
        return read_cb(range);
4975
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
42
    {
4974
42
        return read_cb(range);
4975
42
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
4976
4977
    template <typename Range, typename ReadCb>
4978
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
4979
        -> scan_expected<ranges::const_iterator_t<Range>>
4980
0
    {
4981
0
        return unexpected_scan_error(
4982
0
            scan_error::invalid_scanned_value,
4983
0
            "character_reader requires take_width_view");
4984
0
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
4985
};
4986
4987
struct nonascii_specs_handler {
4988
    void on_charset_single(char32_t cp)
4989
612k
    {
4990
612k
        on_charset_range(cp, cp + 1);
4991
612k
    }
4992
4993
    void on_charset_range(char32_t begin, char32_t end)
4994
615k
    {
4995
615k
        if (end <= 127) {
4996
340k
            return;
4997
340k
        }
4998
4999
49.5M
        for (auto& elem : extra_ranges) {
5000
            // TODO: check for overlap
5001
49.5M
            if (elem.first == end) {
5002
102
                elem.first = begin;
5003
102
                return;
5004
102
            }
5005
5006
49.5M
            if (elem.second == begin) {
5007
270
                elem.second = end;
5008
270
                return;
5009
270
            }
5010
49.5M
        }
5011
5012
274k
        extra_ranges.push_back(std::make_pair(begin, end));
5013
274k
    }
5014
5015
    constexpr void on_charset_inverted() const
5016
354
    {
5017
        // no-op
5018
354
    }
5019
5020
    constexpr void on_error(const char* msg)
5021
0
    {
5022
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5023
0
    }
5024
    constexpr void on_error(scan_error e)
5025
0
    {
5026
0
        SCN_UNLIKELY_ATTR
5027
0
        err = e;
5028
0
    }
5029
5030
    constexpr explicit operator bool() const
5031
622k
    {
5032
622k
        return static_cast<bool>(err);
5033
622k
    }
5034
5035
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5036
    scan_error err;
5037
};
5038
5039
template <typename SourceCharT>
5040
class character_set_reader_impl {
5041
public:
5042
    template <typename Range, typename ValueCharT>
5043
    auto read(Range range,
5044
              const detail::format_specs& specs,
5045
              std::basic_string<ValueCharT>& value)
5046
        -> scan_expected<ranges::const_iterator_t<Range>>
5047
13.6k
    {
5048
13.6k
        auto it = read_source_impl(range, {specs});
5049
13.6k
        if (SCN_UNLIKELY(!it)) {
5050
9.94k
            return unexpected(it.error());
5051
9.94k
        }
5052
5053
3.68k
        return read_string_impl(range, *it, value);
5054
13.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
2.39k
    {
5048
2.39k
        auto it = read_source_impl(range, {specs});
5049
2.39k
        if (SCN_UNLIKELY(!it)) {
5050
1.56k
            return unexpected(it.error());
5051
1.56k
        }
5052
5053
834
        return read_string_impl(range, *it, value);
5054
2.39k
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
222
    {
5048
222
        auto it = read_source_impl(range, {specs});
5049
222
        if (SCN_UNLIKELY(!it)) {
5050
16
            return unexpected(it.error());
5051
16
        }
5052
5053
206
        return read_string_impl(range, *it, value);
5054
222
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
3.44k
    {
5048
3.44k
        auto it = read_source_impl(range, {specs});
5049
3.44k
        if (SCN_UNLIKELY(!it)) {
5050
1.83k
            return unexpected(it.error());
5051
1.83k
        }
5052
5053
1.60k
        return read_string_impl(range, *it, value);
5054
3.44k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
222
    {
5048
222
        auto it = read_source_impl(range, {specs});
5049
222
        if (SCN_UNLIKELY(!it)) {
5050
16
            return unexpected(it.error());
5051
16
        }
5052
5053
206
        return read_string_impl(range, *it, value);
5054
222
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
1.04k
    {
5048
1.04k
        auto it = read_source_impl(range, {specs});
5049
1.04k
        if (SCN_UNLIKELY(!it)) {
5050
278
            return unexpected(it.error());
5051
278
        }
5052
5053
770
        return read_string_impl(range, *it, value);
5054
1.04k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
3.15k
    {
5048
3.15k
        auto it = read_source_impl(range, {specs});
5049
3.15k
        if (SCN_UNLIKELY(!it)) {
5050
3.12k
            return unexpected(it.error());
5051
3.12k
        }
5052
5053
34
        return read_string_impl(range, *it, value);
5054
3.15k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
3.15k
    {
5048
3.15k
        auto it = read_source_impl(range, {specs});
5049
3.15k
        if (SCN_UNLIKELY(!it)) {
5050
3.12k
            return unexpected(it.error());
5051
3.12k
        }
5052
5053
34
        return read_string_impl(range, *it, value);
5054
3.15k
    }
5055
5056
    template <typename Range, typename ValueCharT>
5057
    auto read(Range range,
5058
              const detail::format_specs& specs,
5059
              std::basic_string_view<ValueCharT>& value)
5060
        -> scan_expected<ranges::const_iterator_t<Range>>
5061
6.81k
    {
5062
6.81k
        auto it = read_source_impl(range, {specs});
5063
6.81k
        if (SCN_UNLIKELY(!it)) {
5064
4.97k
            return unexpected(it.error());
5065
4.97k
        }
5066
5067
1.84k
        return read_string_view_impl(range, *it, value);
5068
6.81k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
222
    {
5062
222
        auto it = read_source_impl(range, {specs});
5063
222
        if (SCN_UNLIKELY(!it)) {
5064
16
            return unexpected(it.error());
5065
16
        }
5066
5067
206
        return read_string_view_impl(range, *it, value);
5068
222
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
3.44k
    {
5062
3.44k
        auto it = read_source_impl(range, {specs});
5063
3.44k
        if (SCN_UNLIKELY(!it)) {
5064
1.83k
            return unexpected(it.error());
5065
1.83k
        }
5066
5067
1.60k
        return read_string_view_impl(range, *it, value);
5068
3.44k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
3.15k
    {
5062
3.15k
        auto it = read_source_impl(range, {specs});
5063
3.15k
        if (SCN_UNLIKELY(!it)) {
5064
3.12k
            return unexpected(it.error());
5065
3.12k
        }
5066
5067
34
        return read_string_view_impl(range, *it, value);
5068
3.15k
    }
5069
5070
private:
5071
    struct specs_helper {
5072
20.4k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
10.9k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
9.46k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5073
5074
        constexpr bool is_char_set_in_literals(char ch) const
5075
516k
        {
5076
516k
            SCN_EXPECT(is_ascii_char(ch));
5077
516k
            const auto val =
5078
516k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
516k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
516k
                    (val % 8)) &
5081
516k
                   1u;
5082
516k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
511k
        {
5076
511k
            SCN_EXPECT(is_ascii_char(ch));
5077
511k
            const auto val =
5078
511k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
511k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
511k
                    (val % 8)) &
5081
511k
                   1u;
5082
511k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
5.26k
        {
5076
5.26k
            SCN_EXPECT(is_ascii_char(ch));
5077
5.26k
            const auto val =
5078
5.26k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
5.26k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
5.26k
                    (val % 8)) &
5081
5.26k
                   1u;
5082
5.26k
        }
5083
5084
        bool is_char_set_in_extra_literals(char32_t cp) const
5085
57.5k
        {
5086
            // TODO: binary search?
5087
57.5k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
57.5k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
57.5k
            return std::find_if(
5093
57.5k
                       nonascii.extra_ranges.begin(),
5094
57.5k
                       nonascii.extra_ranges.end(),
5095
13.7M
                       [cp_val](const auto& pair) noexcept {
5096
13.7M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
13.7M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
13.7M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
13.7M
                       [cp_val](const auto& pair) noexcept {
5096
13.7M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
13.7M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
13.7M
                       }) != nonascii.extra_ranges.end();
Unexecuted instantiation: auto scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
5099
57.5k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
57.5k
        {
5086
            // TODO: binary search?
5087
57.5k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
57.5k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
57.5k
            return std::find_if(
5093
57.5k
                       nonascii.extra_ranges.begin(),
5094
57.5k
                       nonascii.extra_ranges.end(),
5095
57.5k
                       [cp_val](const auto& pair) noexcept {
5096
57.5k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
57.5k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
57.5k
                       }) != nonascii.extra_ranges.end();
5099
57.5k
        }
Unexecuted instantiation: scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
5100
5101
        scan_error handle_nonascii()
5102
20.4k
        {
5103
20.4k
            if (!specs.charset_has_nonascii) {
5104
17.1k
                return {};
5105
17.1k
            }
5106
5107
3.26k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
3.26k
            auto it = detail::to_address(charset_string.begin());
5109
3.26k
            auto set = detail::parse_presentation_set(
5110
3.26k
                it, detail::to_address(charset_string.end()), nonascii);
5111
3.26k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
3.26k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
3.26k
            SCN_ENSURE(set == charset_string);
5116
5117
3.26k
            std::sort(nonascii.extra_ranges.begin(),
5118
3.26k
                      nonascii.extra_ranges.end());
5119
3.26k
            return {};
5120
3.26k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5102
10.9k
        {
5103
10.9k
            if (!specs.charset_has_nonascii) {
5104
7.72k
                return {};
5105
7.72k
            }
5106
5107
3.26k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
3.26k
            auto it = detail::to_address(charset_string.begin());
5109
3.26k
            auto set = detail::parse_presentation_set(
5110
3.26k
                it, detail::to_address(charset_string.end()), nonascii);
5111
3.26k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
3.26k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
3.26k
            SCN_ENSURE(set == charset_string);
5116
5117
3.26k
            std::sort(nonascii.extra_ranges.begin(),
5118
3.26k
                      nonascii.extra_ranges.end());
5119
3.26k
            return {};
5120
3.26k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5102
9.46k
        {
5103
9.46k
            if (!specs.charset_has_nonascii) {
5104
9.46k
                return {};
5105
9.46k
            }
5106
5107
0
            auto charset_string = specs.charset_string<SourceCharT>();
5108
0
            auto it = detail::to_address(charset_string.begin());
5109
0
            auto set = detail::parse_presentation_set(
5110
0
                it, detail::to_address(charset_string.end()), nonascii);
5111
0
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
0
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
0
            SCN_ENSURE(set == charset_string);
5116
5117
0
            std::sort(nonascii.extra_ranges.begin(),
5118
0
                      nonascii.extra_ranges.end());
5119
0
            return {};
5120
0
        }
5121
5122
        const detail::format_specs& specs;
5123
        nonascii_specs_handler nonascii;
5124
    };
5125
5126
    struct read_source_callback {
5127
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5128
34.3k
        {
5129
34.3k
            if (!is_ascii_char(ch)) {
5130
6.24k
                return false;
5131
6.24k
            }
5132
5133
28.1k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
34.3k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5128
24.8k
        {
5129
24.8k
            if (!is_ascii_char(ch)) {
5130
1.99k
                return false;
5131
1.99k
            }
5132
5133
22.8k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
24.8k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5128
9.50k
        {
5129
9.50k
            if (!is_ascii_char(ch)) {
5130
4.24k
                return false;
5131
4.24k
            }
5132
5133
5.26k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
9.50k
        }
5135
5136
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5137
546k
        {
5138
546k
            if (!is_ascii_char(cp)) {
5139
57.5k
                return helper.is_char_set_in_extra_literals(cp);
5140
57.5k
            }
5141
5142
488k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
546k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
546k
        {
5138
546k
            if (!is_ascii_char(cp)) {
5139
57.5k
                return helper.is_char_set_in_extra_literals(cp);
5140
57.5k
            }
5141
5142
488k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
546k
        }
Unexecuted instantiation: scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
5144
5145
        const specs_helper& helper;
5146
        detail::locale_ref loc{};
5147
    };
5148
5149
    template <typename Range>
5150
    auto read_source_impl(Range range, specs_helper helper) const
5151
        -> scan_expected<ranges::const_iterator_t<Range>>
5152
20.4k
    {
5153
20.4k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
20.4k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
20.4k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
20.4k
        read_source_callback cb_wrapper{helper};
5161
5162
20.4k
        if (accepts_nonascii) {
5163
546k
            const auto cb = [&](char32_t cp) {
5164
546k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
546k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
67.8k
            const auto cb = [&](char32_t cp) {
5164
67.8k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
67.8k
            };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
478k
            const auto cb = [&](char32_t cp) {
5164
478k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
478k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
5166
5167
3.26k
            if (is_inverted) {
5168
354
                auto it = read_until_code_point(range, cb);
5169
354
                return check_nonempty(it, range);
5170
354
            }
5171
2.91k
            auto it = read_while_code_point(range, cb);
5172
2.91k
            return check_nonempty(it, range);
5173
3.26k
        }
5174
5175
34.3k
        const auto cb = [&](SourceCharT ch) {
5176
34.3k
            return cb_wrapper.on_ascii_only(ch);
5177
34.3k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
5.94k
        const auto cb = [&](SourceCharT ch) {
5176
5.94k
            return cb_wrapper.on_ascii_only(ch);
5177
5.94k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
2.05k
        const auto cb = [&](SourceCharT ch) {
5176
2.05k
            return cb_wrapper.on_ascii_only(ch);
5177
2.05k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
16.8k
        const auto cb = [&](SourceCharT ch) {
5176
16.8k
            return cb_wrapper.on_ascii_only(ch);
5177
16.8k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
3.16k
        const auto cb = [&](SourceCharT ch) {
5176
3.16k
            return cb_wrapper.on_ascii_only(ch);
5177
3.16k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
6.33k
        const auto cb = [&](SourceCharT ch) {
5176
6.33k
            return cb_wrapper.on_ascii_only(ch);
5177
6.33k
        };
5178
5179
17.1k
        if (is_inverted) {
5180
288
            auto it = read_until_code_unit(range, cb);
5181
288
            return check_nonempty(it, range);
5182
288
        }
5183
16.9k
        auto it = read_while_code_unit(range, cb);
5184
16.9k
        return check_nonempty(it, range);
5185
17.1k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
2.39k
    {
5153
2.39k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
2.39k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
2.39k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
2.39k
        read_source_callback cb_wrapper{helper};
5161
5162
2.39k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
2.39k
        const auto cb = [&](SourceCharT ch) {
5176
2.39k
            return cb_wrapper.on_ascii_only(ch);
5177
2.39k
        };
5178
5179
2.39k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
2.39k
        auto it = read_while_code_unit(range, cb);
5184
2.39k
        return check_nonempty(it, range);
5185
2.39k
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
666
    {
5153
666
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
666
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
666
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
666
        read_source_callback cb_wrapper{helper};
5161
5162
666
        if (accepts_nonascii) {
5163
492
            const auto cb = [&](char32_t cp) {
5164
492
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
492
            };
5166
5167
492
            if (is_inverted) {
5168
78
                auto it = read_until_code_point(range, cb);
5169
78
                return check_nonempty(it, range);
5170
78
            }
5171
414
            auto it = read_while_code_point(range, cb);
5172
414
            return check_nonempty(it, range);
5173
492
        }
5174
5175
174
        const auto cb = [&](SourceCharT ch) {
5176
174
            return cb_wrapper.on_ascii_only(ch);
5177
174
        };
5178
5179
174
        if (is_inverted) {
5180
120
            auto it = read_until_code_unit(range, cb);
5181
120
            return check_nonempty(it, range);
5182
120
        }
5183
54
        auto it = read_while_code_unit(range, cb);
5184
54
        return check_nonempty(it, range);
5185
174
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
7.93k
    {
5153
7.93k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
7.93k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
7.93k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
7.93k
        read_source_callback cb_wrapper{helper};
5161
5162
7.93k
        if (accepts_nonascii) {
5163
2.77k
            const auto cb = [&](char32_t cp) {
5164
2.77k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
2.77k
            };
5166
5167
2.77k
            if (is_inverted) {
5168
276
                auto it = read_until_code_point(range, cb);
5169
276
                return check_nonempty(it, range);
5170
276
            }
5171
2.49k
            auto it = read_while_code_point(range, cb);
5172
2.49k
            return check_nonempty(it, range);
5173
2.77k
        }
5174
5175
5.16k
        const auto cb = [&](SourceCharT ch) {
5176
5.16k
            return cb_wrapper.on_ascii_only(ch);
5177
5.16k
        };
5178
5179
5.16k
        if (is_inverted) {
5180
168
            auto it = read_until_code_unit(range, cb);
5181
168
            return check_nonempty(it, range);
5182
168
        }
5183
4.99k
        auto it = read_while_code_unit(range, cb);
5184
4.99k
        return check_nonempty(it, range);
5185
5.16k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
3.15k
    {
5153
3.15k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
3.15k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
3.15k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
3.15k
        read_source_callback cb_wrapper{helper};
5161
5162
3.15k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
3.15k
        const auto cb = [&](SourceCharT ch) {
5176
3.15k
            return cb_wrapper.on_ascii_only(ch);
5177
3.15k
        };
5178
5179
3.15k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
3.15k
        auto it = read_while_code_unit(range, cb);
5184
3.15k
        return check_nonempty(it, range);
5185
3.15k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
6.30k
    {
5153
6.30k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
6.30k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
6.30k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
6.30k
        read_source_callback cb_wrapper{helper};
5161
5162
6.30k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
6.30k
        const auto cb = [&](SourceCharT ch) {
5176
6.30k
            return cb_wrapper.on_ascii_only(ch);
5177
6.30k
        };
5178
5179
6.30k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
6.30k
        auto it = read_while_code_unit(range, cb);
5184
6.30k
        return check_nonempty(it, range);
5185
6.30k
    }
5186
5187
    template <typename Iterator, typename Range>
5188
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5189
                                                  Range range)
5190
20.4k
    {
5191
20.4k
        if (it == range.begin()) {
5192
14.9k
            return unexpected_scan_error(
5193
14.9k
                scan_error::invalid_scanned_value,
5194
14.9k
                "No characters matched in [character set]");
5195
14.9k
        }
5196
5197
5.53k
        return it;
5198
20.4k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
2.39k
    {
5191
2.39k
        if (it == range.begin()) {
5192
1.56k
            return unexpected_scan_error(
5193
1.56k
                scan_error::invalid_scanned_value,
5194
1.56k
                "No characters matched in [character set]");
5195
1.56k
        }
5196
5197
834
        return it;
5198
2.39k
    }
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5190
666
    {
5191
666
        if (it == range.begin()) {
5192
48
            return unexpected_scan_error(
5193
48
                scan_error::invalid_scanned_value,
5194
48
                "No characters matched in [character set]");
5195
48
        }
5196
5197
618
        return it;
5198
666
    }
scn::v3::scan_expected<char const*> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5190
7.93k
    {
5191
7.93k
        if (it == range.begin()) {
5192
3.95k
            return unexpected_scan_error(
5193
3.95k
                scan_error::invalid_scanned_value,
5194
3.95k
                "No characters matched in [character set]");
5195
3.95k
        }
5196
5197
3.97k
        return it;
5198
7.93k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
3.15k
    {
5191
3.15k
        if (it == range.begin()) {
5192
3.12k
            return unexpected_scan_error(
5193
3.12k
                scan_error::invalid_scanned_value,
5194
3.12k
                "No characters matched in [character set]");
5195
3.12k
        }
5196
5197
34
        return it;
5198
3.15k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5190
6.30k
    {
5191
6.30k
        if (it == range.begin()) {
5192
6.24k
            return unexpected_scan_error(
5193
6.24k
                scan_error::invalid_scanned_value,
5194
6.24k
                "No characters matched in [character set]");
5195
6.24k
        }
5196
5197
68
        return it;
5198
6.30k
    }
5199
};
5200
5201
template <typename SourceCharT>
5202
class string_reader
5203
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5204
public:
5205
61.7M
    constexpr string_reader() = default;
scn::v3::impl::string_reader<char>::string_reader()
Line
Count
Source
5205
501k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5205
61.2M
    constexpr string_reader() = default;
5206
5207
    void check_specs_impl(const detail::format_specs& specs,
5208
                          reader_error_handler& eh)
5209
24.7M
    {
5210
24.7M
        detail::check_string_type_specs(specs, eh);
5211
5212
24.7M
        SCN_GCC_PUSH
5213
24.7M
        SCN_GCC_IGNORE("-Wswitch")
5214
24.7M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
24.7M
        SCN_CLANG_PUSH
5217
24.7M
        SCN_CLANG_IGNORE("-Wswitch")
5218
24.7M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
24.7M
        switch (specs.type) {
5221
2.67k
            case detail::presentation_type::none:
5222
2.67k
                m_type = reader_type::word;
5223
2.67k
                break;
5224
5225
24.6M
            case detail::presentation_type::string: {
5226
24.6M
                if (specs.align == detail::align_type::left ||
5227
24.6M
                    specs.align == detail::align_type::center) {
5228
468
                    m_type = reader_type::custom_word;
5229
468
                }
5230
24.6M
                else {
5231
24.6M
                    m_type = reader_type::word;
5232
24.6M
                }
5233
24.6M
                break;
5234
0
            }
5235
5236
14.1k
            case detail::presentation_type::character:
5237
14.1k
                m_type = reader_type::character;
5238
14.1k
                break;
5239
5240
20.4k
            case detail::presentation_type::string_set:
5241
20.4k
                m_type = reader_type::character_set;
5242
20.4k
                break;
5243
5244
9.25k
            case detail::presentation_type::regex:
5245
9.25k
                m_type = reader_type::regex;
5246
9.25k
                break;
5247
5248
1.04k
            case detail::presentation_type::regex_escaped:
5249
1.04k
                m_type = reader_type::regex_escaped;
5250
1.04k
                break;
5251
24.7M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
24.7M
    }
scn::v3::impl::string_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
216k
    {
5210
216k
        detail::check_string_type_specs(specs, eh);
5211
5212
216k
        SCN_GCC_PUSH
5213
216k
        SCN_GCC_IGNORE("-Wswitch")
5214
216k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
216k
        SCN_CLANG_PUSH
5217
216k
        SCN_CLANG_IGNORE("-Wswitch")
5218
216k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
216k
        switch (specs.type) {
5221
1.38k
            case detail::presentation_type::none:
5222
1.38k
                m_type = reader_type::word;
5223
1.38k
                break;
5224
5225
188k
            case detail::presentation_type::string: {
5226
188k
                if (specs.align == detail::align_type::left ||
5227
188k
                    specs.align == detail::align_type::center) {
5228
468
                    m_type = reader_type::custom_word;
5229
468
                }
5230
188k
                else {
5231
188k
                    m_type = reader_type::word;
5232
188k
                }
5233
188k
                break;
5234
0
            }
5235
5236
4.81k
            case detail::presentation_type::character:
5237
4.81k
                m_type = reader_type::character;
5238
4.81k
                break;
5239
5240
10.9k
            case detail::presentation_type::string_set:
5241
10.9k
                m_type = reader_type::character_set;
5242
10.9k
                break;
5243
5244
9.06k
            case detail::presentation_type::regex:
5245
9.06k
                m_type = reader_type::regex;
5246
9.06k
                break;
5247
5248
1.04k
            case detail::presentation_type::regex_escaped:
5249
1.04k
                m_type = reader_type::regex_escaped;
5250
1.04k
                break;
5251
216k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
216k
    }
scn::v3::impl::string_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
24.4M
    {
5210
24.4M
        detail::check_string_type_specs(specs, eh);
5211
5212
24.4M
        SCN_GCC_PUSH
5213
24.4M
        SCN_GCC_IGNORE("-Wswitch")
5214
24.4M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
24.4M
        SCN_CLANG_PUSH
5217
24.4M
        SCN_CLANG_IGNORE("-Wswitch")
5218
24.4M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
24.4M
        switch (specs.type) {
5221
1.29k
            case detail::presentation_type::none:
5222
1.29k
                m_type = reader_type::word;
5223
1.29k
                break;
5224
5225
24.4M
            case detail::presentation_type::string: {
5226
24.4M
                if (specs.align == detail::align_type::left ||
5227
24.4M
                    specs.align == detail::align_type::center) {
5228
0
                    m_type = reader_type::custom_word;
5229
0
                }
5230
24.4M
                else {
5231
24.4M
                    m_type = reader_type::word;
5232
24.4M
                }
5233
24.4M
                break;
5234
0
            }
5235
5236
9.36k
            case detail::presentation_type::character:
5237
9.36k
                m_type = reader_type::character;
5238
9.36k
                break;
5239
5240
9.46k
            case detail::presentation_type::string_set:
5241
9.46k
                m_type = reader_type::character_set;
5242
9.46k
                break;
5243
5244
192
            case detail::presentation_type::regex:
5245
192
                m_type = reader_type::regex;
5246
192
                break;
5247
5248
0
            case detail::presentation_type::regex_escaped:
5249
0
                m_type = reader_type::regex_escaped;
5250
0
                break;
5251
24.4M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
24.4M
    }
5256
5257
    bool skip_ws_before_read() const
5258
86.3M
    {
5259
86.3M
        return m_type == reader_type::word;
5260
86.3M
    }
scn::v3::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5258
685k
    {
5259
685k
        return m_type == reader_type::word;
5260
685k
    }
scn::v3::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5258
85.6M
    {
5259
85.6M
        return m_type == reader_type::word;
5260
85.6M
    }
5261
5262
    template <typename Range, typename Value>
5263
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5264
        -> scan_expected<ranges::const_iterator_t<Range>>
5265
36.9M
    {
5266
36.9M
        SCN_UNUSED(loc);
5267
36.9M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
36.9M
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
92.9k
    {
5266
92.9k
        SCN_UNUSED(loc);
5267
92.9k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
92.9k
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
92.9k
    {
5266
92.9k
        SCN_UNUSED(loc);
5267
92.9k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
92.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
654
    {
5266
654
        SCN_UNUSED(loc);
5267
654
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
654
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
93.5k
    {
5266
93.5k
        SCN_UNUSED(loc);
5267
93.5k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
93.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
580
    {
5266
580
        SCN_UNUSED(loc);
5267
580
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
580
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
12.2M
    {
5266
12.2M
        SCN_UNUSED(loc);
5267
12.2M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
12.2M
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
12.2M
    {
5266
12.2M
        SCN_UNUSED(loc);
5267
12.2M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
12.2M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
12.2M
    {
5266
12.2M
        SCN_UNUSED(loc);
5267
12.2M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
12.2M
    }
5269
5270
    template <typename Range, typename Value>
5271
    auto read_specs(Range range,
5272
                    const detail::format_specs& specs,
5273
                    Value& value,
5274
                    detail::locale_ref loc)
5275
        -> scan_expected<ranges::const_iterator_t<Range>>
5276
24.6M
    {
5277
24.6M
        SCN_UNUSED(loc);
5278
24.6M
        return read_impl(range, specs, value);
5279
24.6M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
64.4k
    {
5277
64.4k
        SCN_UNUSED(loc);
5278
64.4k
        return read_impl(range, specs, value);
5279
64.4k
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
760
    {
5277
760
        SCN_UNUSED(loc);
5278
760
        return read_impl(range, specs, value);
5279
760
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
68.5k
    {
5277
68.5k
        SCN_UNUSED(loc);
5278
68.5k
        return read_impl(range, specs, value);
5279
68.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
760
    {
5277
760
        SCN_UNUSED(loc);
5278
760
        return read_impl(range, specs, value);
5279
760
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.60k
    {
5277
4.60k
        SCN_UNUSED(loc);
5278
4.60k
        return read_impl(range, specs, value);
5279
4.60k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
760
    {
5277
760
        SCN_UNUSED(loc);
5278
760
        return read_impl(range, specs, value);
5279
760
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
68.5k
    {
5277
68.5k
        SCN_UNUSED(loc);
5278
68.5k
        return read_impl(range, specs, value);
5279
68.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
10
    {
5277
10
        SCN_UNUSED(loc);
5278
10
        return read_impl(range, specs, value);
5279
10
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
496
    {
5277
496
        SCN_UNUSED(loc);
5278
496
        return read_impl(range, specs, value);
5279
496
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
8.15M
    {
5277
8.15M
        SCN_UNUSED(loc);
5278
8.15M
        return read_impl(range, specs, value);
5279
8.15M
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
10
    {
5277
10
        SCN_UNUSED(loc);
5278
10
        return read_impl(range, specs, value);
5279
10
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
8.15M
    {
5277
8.15M
        SCN_UNUSED(loc);
5278
8.15M
        return read_impl(range, specs, value);
5279
8.15M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
10
    {
5277
10
        SCN_UNUSED(loc);
5278
10
        return read_impl(range, specs, value);
5279
10
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
8.15M
    {
5277
8.15M
        SCN_UNUSED(loc);
5278
8.15M
        return read_impl(range, specs, value);
5279
8.15M
    }
5280
5281
protected:
5282
    enum class reader_type {
5283
        word,
5284
        custom_word,
5285
        character,
5286
        character_set,
5287
        regex,
5288
        regex_escaped,
5289
    };
5290
5291
    template <typename Range, typename Value>
5292
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5293
        -> scan_expected<ranges::const_iterator_t<Range>>
5294
24.6M
    {
5295
24.6M
        SCN_CLANG_PUSH
5296
24.6M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
24.6M
        switch (m_type) {
5299
24.6M
            case reader_type::word:
5300
24.6M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
468
            case reader_type::custom_word:
5303
468
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
468
                                                                   value);
5305
5306
126
            case reader_type::character:
5307
126
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
20.4k
            case reader_type::character_set:
5310
20.4k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
20.4k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
9.25k
            case reader_type::regex:
5315
9.25k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
9.25k
                    range, specs.charset_string<SourceCharT>(),
5317
9.25k
                    specs.regexp_flags, value);
5318
5319
1.04k
            case reader_type::regex_escaped:
5320
1.04k
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
1.04k
                    range,
5322
1.04k
                    get_unescaped_regex_pattern(
5323
1.04k
                        specs.charset_string<SourceCharT>()),
5324
1.04k
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
24.6M
                SCN_UNREACHABLE;
5330
24.6M
        }
5331
5332
24.6M
        SCN_CLANG_POP
5333
24.6M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
64.4k
    {
5295
64.4k
        SCN_CLANG_PUSH
5296
64.4k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
64.4k
        switch (m_type) {
5299
62.0k
            case reader_type::word:
5300
62.0k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
2.39k
            case reader_type::character_set:
5310
2.39k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
2.39k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
64.4k
                SCN_UNREACHABLE;
5330
64.4k
        }
5331
5332
64.4k
        SCN_CLANG_POP
5333
64.4k
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
760
    {
5295
760
        SCN_CLANG_PUSH
5296
760
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
760
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
102
            case reader_type::custom_word:
5303
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
102
                                                                   value);
5305
5306
42
            case reader_type::character:
5307
42
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
222
            case reader_type::character_set:
5310
222
                return character_set_reader_impl<SourceCharT>{}.read(
5311
222
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
146
            case reader_type::regex_escaped:
5320
146
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
146
                    range,
5322
146
                    get_unescaped_regex_pattern(
5323
146
                        specs.charset_string<SourceCharT>()),
5324
146
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
760
                SCN_UNREACHABLE;
5330
760
        }
5331
5332
760
        SCN_CLANG_POP
5333
760
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
68.5k
    {
5295
68.5k
        SCN_CLANG_PUSH
5296
68.5k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
68.5k
        switch (m_type) {
5299
61.7k
            case reader_type::word:
5300
61.7k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.44k
            case reader_type::character_set:
5310
3.44k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.44k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.02k
            case reader_type::regex:
5315
3.02k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.02k
                    range, specs.charset_string<SourceCharT>(),
5317
3.02k
                    specs.regexp_flags, value);
5318
5319
202
            case reader_type::regex_escaped:
5320
202
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
202
                    range,
5322
202
                    get_unescaped_regex_pattern(
5323
202
                        specs.charset_string<SourceCharT>()),
5324
202
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
68.5k
                SCN_UNREACHABLE;
5330
68.5k
        }
5331
5332
68.5k
        SCN_CLANG_POP
5333
68.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
760
    {
5295
760
        SCN_CLANG_PUSH
5296
760
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
760
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
102
            case reader_type::custom_word:
5303
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
102
                                                                   value);
5305
5306
42
            case reader_type::character:
5307
42
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
222
            case reader_type::character_set:
5310
222
                return character_set_reader_impl<SourceCharT>{}.read(
5311
222
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
146
            case reader_type::regex_escaped:
5320
146
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
146
                    range,
5322
146
                    get_unescaped_regex_pattern(
5323
146
                        specs.charset_string<SourceCharT>()),
5324
146
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
760
                SCN_UNREACHABLE;
5330
760
        }
5331
5332
760
        SCN_CLANG_POP
5333
760
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.60k
    {
5295
4.60k
        SCN_CLANG_PUSH
5296
4.60k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.60k
        switch (m_type) {
5299
284
            case reader_type::word:
5300
284
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
1.04k
            case reader_type::character_set:
5310
1.04k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
1.04k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.02k
            case reader_type::regex:
5315
3.02k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.02k
                    range, specs.charset_string<SourceCharT>(),
5317
3.02k
                    specs.regexp_flags, value);
5318
5319
202
            case reader_type::regex_escaped:
5320
202
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
202
                    range,
5322
202
                    get_unescaped_regex_pattern(
5323
202
                        specs.charset_string<SourceCharT>()),
5324
202
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.60k
                SCN_UNREACHABLE;
5330
4.60k
        }
5331
5332
4.60k
        SCN_CLANG_POP
5333
4.60k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
760
    {
5295
760
        SCN_CLANG_PUSH
5296
760
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
760
        switch (m_type) {
5299
246
            case reader_type::word:
5300
246
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
102
            case reader_type::custom_word:
5303
102
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
102
                                                                   value);
5305
5306
42
            case reader_type::character:
5307
42
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
222
            case reader_type::character_set:
5310
222
                return character_set_reader_impl<SourceCharT>{}.read(
5311
222
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
146
            case reader_type::regex_escaped:
5320
146
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
146
                    range,
5322
146
                    get_unescaped_regex_pattern(
5323
146
                        specs.charset_string<SourceCharT>()),
5324
146
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
760
                SCN_UNREACHABLE;
5330
760
        }
5331
5332
760
        SCN_CLANG_POP
5333
760
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
68.5k
    {
5295
68.5k
        SCN_CLANG_PUSH
5296
68.5k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
68.5k
        switch (m_type) {
5299
61.7k
            case reader_type::word:
5300
61.7k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
54
            case reader_type::custom_word:
5303
54
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
54
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.44k
            case reader_type::character_set:
5310
3.44k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.44k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
3.02k
            case reader_type::regex:
5315
3.02k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
3.02k
                    range, specs.charset_string<SourceCharT>(),
5317
3.02k
                    specs.regexp_flags, value);
5318
5319
202
            case reader_type::regex_escaped:
5320
202
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
202
                    range,
5322
202
                    get_unescaped_regex_pattern(
5323
202
                        specs.charset_string<SourceCharT>()),
5324
202
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
68.5k
                SCN_UNREACHABLE;
5330
68.5k
        }
5331
5332
68.5k
        SCN_CLANG_POP
5333
68.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
10
    {
5295
10
        SCN_CLANG_PUSH
5296
10
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
10
        switch (m_type) {
5299
10
            case reader_type::word:
5300
10
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
10
                SCN_UNREACHABLE;
5330
10
        }
5331
5332
10
        SCN_CLANG_POP
5333
10
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
496
    {
5295
496
        SCN_CLANG_PUSH
5296
496
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
496
        switch (m_type) {
5299
432
            case reader_type::word:
5300
432
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
64
            case reader_type::regex:
5315
64
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
64
                    range, specs.charset_string<SourceCharT>(),
5317
64
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
496
                SCN_UNREACHABLE;
5330
496
        }
5331
5332
496
        SCN_CLANG_POP
5333
496
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
8.15M
    {
5295
8.15M
        SCN_CLANG_PUSH
5296
8.15M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
8.15M
        switch (m_type) {
5299
8.15M
            case reader_type::word:
5300
8.15M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.15k
            case reader_type::character_set:
5310
3.15k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.15k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
8.15M
                SCN_UNREACHABLE;
5330
8.15M
        }
5331
5332
8.15M
        SCN_CLANG_POP
5333
8.15M
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
10
    {
5295
10
        SCN_CLANG_PUSH
5296
10
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
10
        switch (m_type) {
5299
10
            case reader_type::word:
5300
10
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
10
                SCN_UNREACHABLE;
5330
10
        }
5331
5332
10
        SCN_CLANG_POP
5333
10
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
8.15M
    {
5295
8.15M
        SCN_CLANG_PUSH
5296
8.15M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
8.15M
        switch (m_type) {
5299
8.15M
            case reader_type::word:
5300
8.15M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.15k
            case reader_type::character_set:
5310
3.15k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.15k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
64
            case reader_type::regex:
5315
64
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
64
                    range, specs.charset_string<SourceCharT>(),
5317
64
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
8.15M
                SCN_UNREACHABLE;
5330
8.15M
        }
5331
5332
8.15M
        SCN_CLANG_POP
5333
8.15M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
10
    {
5295
10
        SCN_CLANG_PUSH
5296
10
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
10
        switch (m_type) {
5299
10
            case reader_type::word:
5300
10
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
10
                SCN_UNREACHABLE;
5330
10
        }
5331
5332
10
        SCN_CLANG_POP
5333
10
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
8.15M
    {
5295
8.15M
        SCN_CLANG_PUSH
5296
8.15M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
8.15M
        switch (m_type) {
5299
8.15M
            case reader_type::word:
5300
8.15M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.15k
            case reader_type::character_set:
5310
3.15k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.15k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
64
            case reader_type::regex:
5315
64
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
64
                    range, specs.charset_string<SourceCharT>(),
5317
64
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
8.15M
                SCN_UNREACHABLE;
5330
8.15M
        }
5331
5332
8.15M
        SCN_CLANG_POP
5333
8.15M
    }
5334
5335
    reader_type m_type{reader_type::word};
5336
};
5337
5338
template <typename SourceCharT>
5339
class reader_impl_for_string : public string_reader<SourceCharT> {};
5340
5341
/////////////////////////////////////////////////////////////////
5342
// Boolean reader
5343
/////////////////////////////////////////////////////////////////
5344
5345
struct bool_reader_base {
5346
    enum options_type { allow_text = 1, allow_numeric = 2 };
5347
5348
1.23k
    constexpr bool_reader_base() = default;
5349
1.23k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5350
5351
    template <typename Range>
5352
    auto read_classic(Range range, bool& value) const
5353
        -> scan_expected<ranges::const_iterator_t<Range>>
5354
2.42k
    {
5355
2.42k
        scan_error err{scan_error::invalid_scanned_value,
5356
2.42k
                       "Failed to read boolean"};
5357
5358
2.42k
        if (m_options & allow_numeric) {
5359
2.18k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
2.18k
            else {
5363
2.18k
                err = r.error();
5364
2.18k
            }
5365
2.18k
        }
5366
5367
2.42k
        if (m_options & allow_text) {
5368
2.36k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
2.36k
            else {
5372
2.36k
                err = r.error();
5373
2.36k
            }
5374
2.36k
        }
5375
5376
2.42k
        return unexpected(err);
5377
2.42k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
1.01k
    {
5355
1.01k
        scan_error err{scan_error::invalid_scanned_value,
5356
1.01k
                       "Failed to read boolean"};
5357
5358
1.01k
        if (m_options & allow_numeric) {
5359
888
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
888
            else {
5363
888
                err = r.error();
5364
888
            }
5365
888
        }
5366
5367
1.01k
        if (m_options & allow_text) {
5368
992
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
992
            else {
5372
992
                err = r.error();
5373
992
            }
5374
992
        }
5375
5376
1.01k
        return unexpected(err);
5377
1.01k
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
366
    {
5355
366
        scan_error err{scan_error::invalid_scanned_value,
5356
366
                       "Failed to read boolean"};
5357
5358
366
        if (m_options & allow_numeric) {
5359
262
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
262
            else {
5363
262
                err = r.error();
5364
262
            }
5365
262
        }
5366
5367
366
        if (m_options & allow_text) {
5368
348
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
348
            else {
5372
348
                err = r.error();
5373
348
            }
5374
348
        }
5375
5376
366
        return unexpected(err);
5377
366
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
1.03k
    {
5355
1.03k
        scan_error err{scan_error::invalid_scanned_value,
5356
1.03k
                       "Failed to read boolean"};
5357
5358
1.03k
        if (m_options & allow_numeric) {
5359
1.02k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
1.02k
            else {
5363
1.02k
                err = r.error();
5364
1.02k
            }
5365
1.02k
        }
5366
5367
1.03k
        if (m_options & allow_text) {
5368
1.01k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
1.01k
            else {
5372
1.01k
                err = r.error();
5373
1.01k
            }
5374
1.01k
        }
5375
5376
1.03k
        return unexpected(err);
5377
1.03k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
10
    {
5355
10
        scan_error err{scan_error::invalid_scanned_value,
5356
10
                       "Failed to read boolean"};
5357
5358
10
        if (m_options & allow_numeric) {
5359
10
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
10
            else {
5363
10
                err = r.error();
5364
10
            }
5365
10
        }
5366
5367
10
        if (m_options & allow_text) {
5368
10
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
10
            else {
5372
10
                err = r.error();
5373
10
            }
5374
10
        }
5375
5376
10
        return unexpected(err);
5377
10
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5378
5379
protected:
5380
    template <typename Range>
5381
    auto read_numeric(Range range, bool& value) const
5382
        -> scan_expected<ranges::const_iterator_t<Range>>
5383
2.22k
    {
5384
2.22k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
2.22k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
2.22k
        return unexpected_scan_error(
5394
2.22k
            scan_error::invalid_scanned_value,
5395
2.22k
            "Failed to read numeric boolean value: No match");
5396
2.22k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
906
    {
5384
906
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
906
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
906
        return unexpected_scan_error(
5394
906
            scan_error::invalid_scanned_value,
5395
906
            "Failed to read numeric boolean value: No match");
5396
906
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
276
    {
5384
276
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
276
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
276
        return unexpected_scan_error(
5394
276
            scan_error::invalid_scanned_value,
5395
276
            "Failed to read numeric boolean value: No match");
5396
276
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
1.03k
    {
5384
1.03k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
1.03k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
1.03k
        return unexpected_scan_error(
5394
1.03k
            scan_error::invalid_scanned_value,
5395
1.03k
            "Failed to read numeric boolean value: No match");
5396
1.03k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
10
    {
5384
10
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
10
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
10
        return unexpected_scan_error(
5394
10
            scan_error::invalid_scanned_value,
5395
10
            "Failed to read numeric boolean value: No match");
5396
10
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5397
5398
    template <typename Range>
5399
    auto read_textual_classic(Range range, bool& value) const
5400
        -> scan_expected<ranges::const_iterator_t<Range>>
5401
2.36k
    {
5402
2.36k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
2.36k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
2.36k
        return unexpected_scan_error(
5412
2.36k
            scan_error::invalid_scanned_value,
5413
2.36k
            "Failed to read textual boolean value: No match");
5414
2.36k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
992
    {
5402
992
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
992
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
992
        return unexpected_scan_error(
5412
992
            scan_error::invalid_scanned_value,
5413
992
            "Failed to read textual boolean value: No match");
5414
992
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
348
    {
5402
348
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
348
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
348
        return unexpected_scan_error(
5412
348
            scan_error::invalid_scanned_value,
5413
348
            "Failed to read textual boolean value: No match");
5414
348
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
1.01k
    {
5402
1.01k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
1.01k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
1.01k
        return unexpected_scan_error(
5412
1.01k
            scan_error::invalid_scanned_value,
5413
1.01k
            "Failed to read textual boolean value: No match");
5414
1.01k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
10
    {
5402
10
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
10
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
10
        return unexpected_scan_error(
5412
10
            scan_error::invalid_scanned_value,
5413
10
            "Failed to read textual boolean value: No match");
5414
10
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5415
5416
    unsigned m_options{allow_text | allow_numeric};
5417
};
5418
5419
template <typename CharT>
5420
struct bool_reader : public bool_reader_base {
5421
    using bool_reader_base::bool_reader_base;
5422
5423
#if !SCN_DISABLE_LOCALE
5424
    template <typename Range>
5425
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5426
        -> scan_expected<ranges::const_iterator_t<Range>>
5427
50
    {
5428
50
        scan_error err{scan_error::invalid_scanned_value,
5429
50
                       "Failed to read boolean"};
5430
5431
50
        if (m_options & allow_numeric) {
5432
44
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
44
            else {
5436
44
                err = r.error();
5437
44
            }
5438
44
        }
5439
5440
50
        if (m_options & allow_text) {
5441
32
            auto stdloc = loc.get<std::locale>();
5442
32
            const auto& numpunct =
5443
32
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
32
            const auto truename = numpunct.truename();
5445
32
            const auto falsename = numpunct.falsename();
5446
5447
32
            if (auto r =
5448
32
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
32
            else {
5452
32
                err = r.error();
5453
32
            }
5454
32
        }
5455
5456
50
        return unexpected(err);
5457
50
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
16
    {
5428
16
        scan_error err{scan_error::invalid_scanned_value,
5429
16
                       "Failed to read boolean"};
5430
5431
16
        if (m_options & allow_numeric) {
5432
14
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
14
            else {
5436
14
                err = r.error();
5437
14
            }
5438
14
        }
5439
5440
16
        if (m_options & allow_text) {
5441
14
            auto stdloc = loc.get<std::locale>();
5442
14
            const auto& numpunct =
5443
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
14
            const auto truename = numpunct.truename();
5445
14
            const auto falsename = numpunct.falsename();
5446
5447
14
            if (auto r =
5448
14
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
14
            else {
5452
14
                err = r.error();
5453
14
            }
5454
14
        }
5455
5456
16
        return unexpected(err);
5457
16
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
22
    {
5428
22
        scan_error err{scan_error::invalid_scanned_value,
5429
22
                       "Failed to read boolean"};
5430
5431
22
        if (m_options & allow_numeric) {
5432
18
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
18
            else {
5436
18
                err = r.error();
5437
18
            }
5438
18
        }
5439
5440
22
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
22
        return unexpected(err);
5457
22
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
12
    {
5428
12
        scan_error err{scan_error::invalid_scanned_value,
5429
12
                       "Failed to read boolean"};
5430
5431
12
        if (m_options & allow_numeric) {
5432
12
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
12
            else {
5436
12
                err = r.error();
5437
12
            }
5438
12
        }
5439
5440
12
        if (m_options & allow_text) {
5441
8
            auto stdloc = loc.get<std::locale>();
5442
8
            const auto& numpunct =
5443
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
8
            const auto truename = numpunct.truename();
5445
8
            const auto falsename = numpunct.falsename();
5446
5447
8
            if (auto r =
5448
8
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
8
            else {
5452
8
                err = r.error();
5453
8
            }
5454
8
        }
5455
5456
12
        return unexpected(err);
5457
12
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5458
#endif
5459
5460
protected:
5461
    template <typename Range>
5462
    auto read_textual_custom(Range range,
5463
                             bool& value,
5464
                             std::basic_string_view<CharT> truename,
5465
                             std::basic_string_view<CharT> falsename) const
5466
        -> scan_expected<ranges::const_iterator_t<Range>>
5467
32
    {
5468
32
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
32
        const auto shorter = std::pair{
5470
32
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
32
        const auto longer = std::pair{
5472
32
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
32
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
32
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
32
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
32
                                     "read_textual: No match");
5485
32
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5467
14
    {
5468
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
14
        const auto shorter = std::pair{
5470
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
14
        const auto longer = std::pair{
5472
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
14
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
14
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
14
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
14
                                     "read_textual: No match");
5485
14
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5467
8
    {
5468
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
8
        const auto shorter = std::pair{
5470
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
8
        const auto longer = std::pair{
5472
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
8
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
8
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
8
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
8
                                     "read_textual: No match");
5485
8
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5486
};
5487
5488
template <typename CharT>
5489
class reader_impl_for_bool
5490
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5491
public:
5492
    reader_impl_for_bool() = default;
5493
5494
    void check_specs_impl(const detail::format_specs& specs,
5495
                          reader_error_handler& eh)
5496
6.09k
    {
5497
6.09k
        detail::check_bool_type_specs(specs, eh);
5498
6.09k
    }
scn::v3::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
5.53k
    {
5497
5.53k
        detail::check_bool_type_specs(specs, eh);
5498
5.53k
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
556
    {
5497
556
        detail::check_bool_type_specs(specs, eh);
5498
556
    }
5499
5500
    template <typename Range>
5501
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5502
        -> scan_expected<ranges::const_iterator_t<Range>>
5503
1.23k
    {
5504
1.23k
        SCN_UNUSED(loc);
5505
5506
1.23k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
1.23k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
654
    {
5504
654
        SCN_UNUSED(loc);
5505
5506
654
        return bool_reader<CharT>{}.read_classic(range, value);
5507
654
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
580
    {
5504
580
        SCN_UNUSED(loc);
5505
5506
580
        return bool_reader<CharT>{}.read_classic(range, value);
5507
580
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5508
5509
    template <typename Range>
5510
    auto read_specs(Range range,
5511
                    const detail::format_specs& specs,
5512
                    bool& value,
5513
                    detail::locale_ref loc) const
5514
        -> scan_expected<ranges::const_iterator_t<Range>>
5515
1.23k
    {
5516
1.23k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
1.23k
#if !SCN_DISABLE_LOCALE
5519
1.23k
        if (specs.localized) {
5520
50
            return rd.read_localized(range, loc, value);
5521
50
        }
5522
1.18k
#endif
5523
5524
1.18k
        return rd.read_classic(range, value);
5525
1.23k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
382
    {
5516
382
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
382
#if !SCN_DISABLE_LOCALE
5519
382
        if (specs.localized) {
5520
16
            return rd.read_localized(range, loc, value);
5521
16
        }
5522
366
#endif
5523
5524
366
        return rd.read_classic(range, value);
5525
382
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
380
    {
5516
380
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
380
#if !SCN_DISABLE_LOCALE
5519
380
        if (specs.localized) {
5520
22
            return rd.read_localized(range, loc, value);
5521
22
        }
5522
358
#endif
5523
5524
358
        return rd.read_classic(range, value);
5525
380
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
10
    {
5516
10
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
10
#if !SCN_DISABLE_LOCALE
5519
10
        if (specs.localized) {
5520
0
            return rd.read_localized(range, loc, value);
5521
0
        }
5522
10
#endif
5523
5524
10
        return rd.read_classic(range, value);
5525
10
    }
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
464
    {
5516
464
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
464
#if !SCN_DISABLE_LOCALE
5519
464
        if (specs.localized) {
5520
12
            return rd.read_localized(range, loc, value);
5521
12
        }
5522
452
#endif
5523
5524
452
        return rd.read_classic(range, value);
5525
464
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5526
5527
    static constexpr unsigned get_options(const detail::format_specs& specs)
5528
1.23k
    {
5529
1.23k
        SCN_GCC_COMPAT_PUSH
5530
1.23k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
1.23k
        switch (specs.type) {
5533
246
            case detail::presentation_type::string:
5534
246
                return bool_reader_base::allow_text;
5535
5536
14
            case detail::presentation_type::int_generic:
5537
28
            case detail::presentation_type::int_binary:
5538
42
            case detail::presentation_type::int_decimal:
5539
48
            case detail::presentation_type::int_hex:
5540
66
            case detail::presentation_type::int_octal:
5541
76
            case detail::presentation_type::int_unsigned_decimal:
5542
76
                return bool_reader_base::allow_numeric;
5543
5544
914
            default:
5545
914
                return bool_reader_base::allow_text |
5546
914
                       bool_reader_base::allow_numeric;
5547
1.23k
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
1.23k
    }
scn::v3::impl::reader_impl_for_bool<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
762
    {
5529
762
        SCN_GCC_COMPAT_PUSH
5530
762
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
762
        switch (specs.type) {
5533
234
            case detail::presentation_type::string:
5534
234
                return bool_reader_base::allow_text;
5535
5536
12
            case detail::presentation_type::int_generic:
5537
22
            case detail::presentation_type::int_binary:
5538
34
            case detail::presentation_type::int_decimal:
5539
38
            case detail::presentation_type::int_hex:
5540
48
            case detail::presentation_type::int_octal:
5541
52
            case detail::presentation_type::int_unsigned_decimal:
5542
52
                return bool_reader_base::allow_numeric;
5543
5544
476
            default:
5545
476
                return bool_reader_base::allow_text |
5546
476
                       bool_reader_base::allow_numeric;
5547
762
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
762
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
474
    {
5529
474
        SCN_GCC_COMPAT_PUSH
5530
474
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
474
        switch (specs.type) {
5533
12
            case detail::presentation_type::string:
5534
12
                return bool_reader_base::allow_text;
5535
5536
2
            case detail::presentation_type::int_generic:
5537
6
            case detail::presentation_type::int_binary:
5538
8
            case detail::presentation_type::int_decimal:
5539
10
            case detail::presentation_type::int_hex:
5540
18
            case detail::presentation_type::int_octal:
5541
24
            case detail::presentation_type::int_unsigned_decimal:
5542
24
                return bool_reader_base::allow_numeric;
5543
5544
438
            default:
5545
438
                return bool_reader_base::allow_text |
5546
438
                       bool_reader_base::allow_numeric;
5547
474
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
474
    }
5551
};
5552
5553
/////////////////////////////////////////////////////////////////
5554
// Character (code unit, code point) reader
5555
/////////////////////////////////////////////////////////////////
5556
5557
template <typename CharT>
5558
class code_unit_reader {
5559
public:
5560
    template <typename SourceRange>
5561
    auto read(const SourceRange& range, CharT& ch)
5562
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5563
2.12k
    {
5564
2.12k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
2.12k
        ch = *range.begin();
5566
2.12k
        return it;
5567
2.12k
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5563
248
    {
5564
248
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
248
        ch = *range.begin();
5566
248
        return it;
5567
248
    }
_ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5563
868
    {
5564
868
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
868
        ch = *range.begin();
5566
868
        return it;
5567
868
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5563
10
    {
5564
10
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
10
        ch = *range.begin();
5566
10
        return it;
5567
10
    }
_ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5563
1.00k
    {
5564
1.00k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
1.00k
        ch = *range.begin();
5566
1.00k
        return it;
5567
1.00k
    }
5568
};
5569
5570
template <typename CharT>
5571
class code_point_reader;
5572
5573
template <>
5574
class code_point_reader<char32_t> {
5575
public:
5576
    template <typename SourceRange>
5577
    auto read(const SourceRange& range, char32_t& cp)
5578
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5579
0
    {
5580
0
        auto result = read_code_point_into(range);
5581
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5582
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
5583
0
                                         "Invalid code point");
5584
0
        }
5585
0
        cp = detail::decode_code_point_exhaustive_valid(
5586
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5587
0
                result.codepoint});
5588
0
        return result.iterator;
5589
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5590
};
5591
5592
template <>
5593
class code_point_reader<wchar_t> {
5594
public:
5595
    template <typename SourceRange>
5596
    auto read(const SourceRange& range, wchar_t& ch)
5597
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5598
0
    {
5599
0
        code_point_reader<char32_t> reader{};
5600
0
        char32_t cp{};
5601
0
        auto ret = reader.read(range, cp);
5602
0
        if (SCN_UNLIKELY(!ret)) {
5603
0
            return unexpected(ret.error());
5604
0
        }
5605
5606
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5607
0
        ch = encoded_ch;
5608
0
        return *ret;
5609
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5610
};
5611
5612
template <typename ValueCharT>
5613
class char_reader_base {
5614
public:
5615
    constexpr char_reader_base() = default;
5616
5617
    bool skip_ws_before_read() const
5618
3.09k
    {
5619
3.09k
        return false;
5620
3.09k
    }
scn::v3::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5618
1.63k
    {
5619
1.63k
        return false;
5620
1.63k
    }
scn::v3::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5618
1.46k
    {
5619
1.46k
        return false;
5620
1.46k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5621
5622
    static scan_error check_specs(const detail::format_specs& specs)
5623
6.03k
    {
5624
6.03k
        reader_error_handler eh{};
5625
6.03k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
6.03k
            detail::check_code_point_type_specs(specs, eh);
5627
6.03k
        }
5628
6.03k
        else {
5629
6.03k
            detail::check_char_type_specs(specs, eh);
5630
6.03k
        }
5631
6.03k
        if (SCN_UNLIKELY(!eh)) {
5632
5.06k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
5.06k
        }
5634
966
        return {};
5635
6.03k
    }
scn::v3::impl::char_reader_base<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
5.49k
    {
5624
5.49k
        reader_error_handler eh{};
5625
5.49k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
5.49k
            detail::check_code_point_type_specs(specs, eh);
5627
5.49k
        }
5628
5.49k
        else {
5629
5.49k
            detail::check_char_type_specs(specs, eh);
5630
5.49k
        }
5631
5.49k
        if (SCN_UNLIKELY(!eh)) {
5632
4.97k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
4.97k
        }
5634
516
        return {};
5635
5.49k
    }
scn::v3::impl::char_reader_base<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
540
    {
5624
540
        reader_error_handler eh{};
5625
540
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
540
            detail::check_code_point_type_specs(specs, eh);
5627
540
        }
5628
540
        else {
5629
540
            detail::check_char_type_specs(specs, eh);
5630
540
        }
5631
540
        if (SCN_UNLIKELY(!eh)) {
5632
90
            return {scan_error::invalid_format_string, eh.m_msg};
5633
90
        }
5634
450
        return {};
5635
540
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::check_specs(scn::v3::detail::format_specs const&)
5636
};
5637
5638
template <typename CharT>
5639
class reader_impl_for_char : public char_reader_base<char> {
5640
public:
5641
    template <typename Range>
5642
    auto read_default(Range range, char& value, detail::locale_ref loc)
5643
        -> scan_expected<ranges::const_iterator_t<Range>>
5644
1.11k
    {
5645
1.11k
        SCN_UNUSED(loc);
5646
1.11k
        if constexpr (std::is_same_v<CharT, char>) {
5647
0
            return code_unit_reader<char>{}.read(range, value);
5648
0
        }
5649
0
        else {
5650
0
            SCN_UNUSED(range);
5651
0
            SCN_EXPECT(false);
5652
0
            SCN_UNREACHABLE;
5653
0
        }
5654
1.11k
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5644
248
    {
5645
248
        SCN_UNUSED(loc);
5646
248
        if constexpr (std::is_same_v<CharT, char>) {
5647
248
            return code_unit_reader<char>{}.read(range, value);
5648
248
        }
5649
248
        else {
5650
248
            SCN_UNUSED(range);
5651
248
            SCN_EXPECT(false);
5652
248
            SCN_UNREACHABLE;
5653
248
        }
5654
248
    }
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5644
868
    {
5645
868
        SCN_UNUSED(loc);
5646
868
        if constexpr (std::is_same_v<CharT, char>) {
5647
868
            return code_unit_reader<char>{}.read(range, value);
5648
868
        }
5649
868
        else {
5650
868
            SCN_UNUSED(range);
5651
868
            SCN_EXPECT(false);
5652
868
            SCN_UNREACHABLE;
5653
868
        }
5654
868
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5655
5656
    template <typename Range>
5657
    auto read_specs(Range range,
5658
                    const detail::format_specs& specs,
5659
                    char& value,
5660
                    detail::locale_ref loc)
5661
        -> scan_expected<ranges::const_iterator_t<Range>>
5662
514
    {
5663
514
        if (specs.type == detail::presentation_type::none ||
5664
514
            specs.type == detail::presentation_type::character) {
5665
462
            return read_default(range, value, loc);
5666
462
        }
5667
5668
52
        reader_impl_for_int<CharT> reader{};
5669
52
        signed char tmp_value{};
5670
52
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
52
        value = static_cast<signed char>(value);
5672
52
        return ret;
5673
514
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5662
280
    {
5663
280
        if (specs.type == detail::presentation_type::none ||
5664
280
            specs.type == detail::presentation_type::character) {
5665
248
            return read_default(range, value, loc);
5666
248
        }
5667
5668
32
        reader_impl_for_int<CharT> reader{};
5669
32
        signed char tmp_value{};
5670
32
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
32
        value = static_cast<signed char>(value);
5672
32
        return ret;
5673
280
    }
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5662
234
    {
5663
234
        if (specs.type == detail::presentation_type::none ||
5664
234
            specs.type == detail::presentation_type::character) {
5665
214
            return read_default(range, value, loc);
5666
214
        }
5667
5668
20
        reader_impl_for_int<CharT> reader{};
5669
20
        signed char tmp_value{};
5670
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
20
        value = static_cast<signed char>(value);
5672
20
        return ret;
5673
234
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5674
};
5675
5676
template <typename CharT>
5677
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5678
public:
5679
    template <typename Range>
5680
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5681
        -> scan_expected<ranges::const_iterator_t<Range>>
5682
1.01k
    {
5683
1.01k
        SCN_UNUSED(loc);
5684
1.01k
        if constexpr (std::is_same_v<CharT, char>) {
5685
1.01k
            return code_point_reader<wchar_t>{}.read(range, value);
5686
1.01k
        }
5687
1.01k
        else {
5688
1.01k
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
1.01k
        }
5690
1.01k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5682
10
    {
5683
10
        SCN_UNUSED(loc);
5684
10
        if constexpr (std::is_same_v<CharT, char>) {
5685
10
            return code_point_reader<wchar_t>{}.read(range, value);
5686
10
        }
5687
10
        else {
5688
10
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
10
        }
5690
10
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5682
1.00k
    {
5683
1.00k
        SCN_UNUSED(loc);
5684
1.00k
        if constexpr (std::is_same_v<CharT, char>) {
5685
1.00k
            return code_point_reader<wchar_t>{}.read(range, value);
5686
1.00k
        }
5687
1.00k
        else {
5688
1.00k
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
1.00k
        }
5690
1.00k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5691
5692
    template <typename Range>
5693
    auto read_specs(Range range,
5694
                    const detail::format_specs& specs,
5695
                    wchar_t& value,
5696
                    detail::locale_ref loc)
5697
        -> scan_expected<ranges::const_iterator_t<Range>>
5698
450
    {
5699
450
        if (specs.type == detail::presentation_type::none ||
5700
450
            specs.type == detail::presentation_type::character) {
5701
430
            return read_default(range, value, loc);
5702
430
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
450
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5698
10
    {
5699
10
        if (specs.type == detail::presentation_type::none ||
5700
10
            specs.type == detail::presentation_type::character) {
5701
10
            return read_default(range, value, loc);
5702
10
        }
5703
5704
0
        reader_impl_for_int<CharT> reader{};
5705
0
        using integer_type =
5706
0
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
0
        integer_type tmp_value{};
5708
0
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
0
        value = static_cast<integer_type>(value);
5710
0
        return ret;
5711
10
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5698
440
    {
5699
440
        if (specs.type == detail::presentation_type::none ||
5700
440
            specs.type == detail::presentation_type::character) {
5701
420
            return read_default(range, value, loc);
5702
420
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
440
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5712
};
5713
5714
template <typename CharT>
5715
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5716
public:
5717
    template <typename Range>
5718
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5719
        -> scan_expected<ranges::const_iterator_t<Range>>
5720
0
    {
5721
0
        SCN_UNUSED(loc);
5722
0
        return code_point_reader<char32_t>{}.read(range, value);
5723
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5724
5725
    template <typename Range>
5726
    auto read_specs(Range range,
5727
                    const detail::format_specs& specs,
5728
                    char32_t& value,
5729
                    detail::locale_ref loc)
5730
        -> scan_expected<ranges::const_iterator_t<Range>>
5731
0
    {
5732
0
        SCN_UNUSED(specs);
5733
0
        return read_default(range, value, loc);
5734
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5735
};
5736
5737
/////////////////////////////////////////////////////////////////
5738
// Pointer reader
5739
/////////////////////////////////////////////////////////////////
5740
5741
template <typename CharT>
5742
class reader_impl_for_voidptr {
5743
public:
5744
    constexpr reader_impl_for_voidptr() = default;
5745
5746
    bool skip_ws_before_read() const
5747
2.13k
    {
5748
2.13k
        return true;
5749
2.13k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5747
1.12k
    {
5748
1.12k
        return true;
5749
1.12k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5747
1.01k
    {
5748
1.01k
        return true;
5749
1.01k
    }
5750
5751
    static scan_error check_specs(const detail::format_specs& specs)
5752
6.03k
    {
5753
6.03k
        reader_error_handler eh{};
5754
6.03k
        detail::check_pointer_type_specs(specs, eh);
5755
6.03k
        if (SCN_UNLIKELY(!eh)) {
5756
5.13k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
5.13k
        }
5758
902
        return {};
5759
6.03k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
5.49k
    {
5753
5.49k
        reader_error_handler eh{};
5754
5.49k
        detail::check_pointer_type_specs(specs, eh);
5755
5.49k
        if (SCN_UNLIKELY(!eh)) {
5756
5.02k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
5.02k
        }
5758
470
        return {};
5759
5.49k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
540
    {
5753
540
        reader_error_handler eh{};
5754
540
        detail::check_pointer_type_specs(specs, eh);
5755
540
        if (SCN_UNLIKELY(!eh)) {
5756
108
            return {scan_error::invalid_format_string, eh.m_msg};
5757
108
        }
5758
432
        return {};
5759
540
    }
5760
5761
    template <typename Range>
5762
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5763
        -> scan_expected<ranges::const_iterator_t<Range>>
5764
2.13k
    {
5765
2.13k
        detail::format_specs specs{};
5766
2.13k
        specs.type = detail::presentation_type::int_hex;
5767
5768
2.13k
        std::uintptr_t intvalue{};
5769
2.13k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
2.13k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
872
    {
5765
872
        detail::format_specs specs{};
5766
872
        specs.type = detail::presentation_type::int_hex;
5767
5768
872
        std::uintptr_t intvalue{};
5769
872
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
872
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
248
    {
5765
248
        detail::format_specs specs{};
5766
248
        specs.type = detail::presentation_type::int_hex;
5767
5768
248
        std::uintptr_t intvalue{};
5769
248
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
248
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
1.00k
    {
5765
1.00k
        detail::format_specs specs{};
5766
1.00k
        specs.type = detail::presentation_type::int_hex;
5767
5768
1.00k
        std::uintptr_t intvalue{};
5769
1.00k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
1.00k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
10
    {
5765
10
        detail::format_specs specs{};
5766
10
        specs.type = detail::presentation_type::int_hex;
5767
5768
10
        std::uintptr_t intvalue{};
5769
10
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
10
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5774
5775
    template <typename Range>
5776
    auto read_specs(Range range,
5777
                    const detail::format_specs& specs,
5778
                    void*& value,
5779
                    detail::locale_ref loc)
5780
        -> scan_expected<ranges::const_iterator_t<Range>>
5781
898
    {
5782
898
        SCN_UNUSED(specs);
5783
898
        return read_default(range, value, loc);
5784
898
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
248
    {
5782
248
        SCN_UNUSED(specs);
5783
248
        return read_default(range, value, loc);
5784
248
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
218
    {
5782
218
        SCN_UNUSED(specs);
5783
218
        return read_default(range, value, loc);
5784
218
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
10
    {
5782
10
        SCN_UNUSED(specs);
5783
10
        return read_default(range, value, loc);
5784
10
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
422
    {
5782
422
        SCN_UNUSED(specs);
5783
422
        return read_default(range, value, loc);
5784
422
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5785
};
5786
5787
/////////////////////////////////////////////////////////////////
5788
// Argument readers
5789
/////////////////////////////////////////////////////////////////
5790
5791
template <typename Range>
5792
auto skip_ws_before_if_required(bool is_required, Range range)
5793
    -> eof_expected<ranges::iterator_t<Range>>
5794
39.6M
{
5795
39.6M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
26.3k
        return unexpected(e);
5797
26.3k
    }
5798
5799
39.6M
    if (!is_required) {
5800
1.23k
        return range.begin();
5801
1.23k
    }
5802
5803
39.6M
    return skip_classic_whitespace(range);
5804
39.6M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
1.40M
{
5795
1.40M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
11.0k
        return unexpected(e);
5797
11.0k
    }
5798
5799
1.39M
    if (!is_required) {
5800
654
        return range.begin();
5801
654
    }
5802
5803
1.39M
    return skip_classic_whitespace(range);
5804
1.39M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
1.25M
{
5795
1.25M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
10.5k
        return unexpected(e);
5797
10.5k
    }
5798
5799
1.24M
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
1.24M
    return skip_classic_whitespace(range);
5804
1.24M
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
24.6M
{
5795
24.6M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
3.05k
        return unexpected(e);
5797
3.05k
    }
5798
5799
24.6M
    if (!is_required) {
5800
580
        return range.begin();
5801
580
    }
5802
5803
24.6M
    return skip_classic_whitespace(range);
5804
24.6M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
12.3M
{
5795
12.3M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
1.71k
        return unexpected(e);
5797
1.71k
    }
5798
5799
12.3M
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
12.3M
    return skip_classic_whitespace(range);
5804
12.3M
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5805
5806
template <typename T, typename CharT>
5807
constexpr auto make_reader()
5808
61.7M
{
5809
61.7M
    if constexpr (std::is_same_v<T, bool>) {
5810
61.7M
        return reader_impl_for_bool<CharT>{};
5811
61.7M
    }
5812
61.7M
    else if constexpr (std::is_same_v<T, char>) {
5813
61.7M
        return reader_impl_for_char<CharT>{};
5814
61.7M
    }
5815
61.7M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
61.7M
        return reader_impl_for_wchar<CharT>{};
5817
61.7M
    }
5818
61.7M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
61.7M
        return reader_impl_for_code_point<CharT>{};
5820
61.7M
    }
5821
61.7M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
61.7M
                       std::is_same_v<T, std::wstring_view>) {
5823
41.1M
        return reader_impl_for_string<CharT>{};
5824
41.1M
    }
5825
41.1M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
41.1M
                       std::is_same_v<T, std::wstring>) {
5827
41.1M
        return reader_impl_for_string<CharT>{};
5828
41.1M
    }
5829
61.7M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
61.7M
                       std::is_same_v<T, wregex_matches>) {
5831
61.7M
        return reader_impl_for_regex_matches<CharT>{};
5832
61.7M
    }
5833
61.7M
    else if constexpr (std::is_same_v<T, void*>) {
5834
61.7M
        return reader_impl_for_voidptr<CharT>{};
5835
61.7M
    }
5836
61.7M
    else if constexpr (std::is_floating_point_v<T>) {
5837
61.7M
        return reader_impl_for_float<CharT>{};
5838
61.7M
    }
5839
61.7M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
61.7M
                       !std::is_same_v<T, wchar_t> &&
5841
61.7M
                       !std::is_same_v<T, char32_t> &&
5842
61.7M
                       !std::is_same_v<T, bool>) {
5843
61.7M
        return reader_impl_for_int<CharT>{};
5844
61.7M
    }
5845
61.7M
    else {
5846
61.7M
        return reader_impl_for_monostate<CharT>{};
5847
61.7M
    }
5848
61.7M
}
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5808
328k
{
5809
328k
    if constexpr (std::is_same_v<T, bool>) {
5810
328k
        return reader_impl_for_bool<CharT>{};
5811
328k
    }
5812
328k
    else if constexpr (std::is_same_v<T, char>) {
5813
328k
        return reader_impl_for_char<CharT>{};
5814
328k
    }
5815
328k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
328k
        return reader_impl_for_wchar<CharT>{};
5817
328k
    }
5818
328k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
328k
        return reader_impl_for_code_point<CharT>{};
5820
328k
    }
5821
328k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
328k
                       std::is_same_v<T, std::wstring_view>) {
5823
328k
        return reader_impl_for_string<CharT>{};
5824
328k
    }
5825
328k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
328k
                       std::is_same_v<T, std::wstring>) {
5827
328k
        return reader_impl_for_string<CharT>{};
5828
328k
    }
5829
328k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
328k
                       std::is_same_v<T, wregex_matches>) {
5831
328k
        return reader_impl_for_regex_matches<CharT>{};
5832
328k
    }
5833
328k
    else if constexpr (std::is_same_v<T, void*>) {
5834
328k
        return reader_impl_for_voidptr<CharT>{};
5835
328k
    }
5836
328k
    else if constexpr (std::is_floating_point_v<T>) {
5837
328k
        return reader_impl_for_float<CharT>{};
5838
328k
    }
5839
328k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
328k
                       !std::is_same_v<T, wchar_t> &&
5841
328k
                       !std::is_same_v<T, char32_t> &&
5842
328k
                       !std::is_same_v<T, bool>) {
5843
328k
        return reader_impl_for_int<CharT>{};
5844
328k
    }
5845
328k
    else {
5846
328k
        return reader_impl_for_monostate<CharT>{};
5847
328k
    }
5848
328k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5808
6.14k
{
5809
6.14k
    if constexpr (std::is_same_v<T, bool>) {
5810
6.14k
        return reader_impl_for_bool<CharT>{};
5811
6.14k
    }
5812
6.14k
    else if constexpr (std::is_same_v<T, char>) {
5813
6.14k
        return reader_impl_for_char<CharT>{};
5814
6.14k
    }
5815
6.14k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
6.14k
        return reader_impl_for_wchar<CharT>{};
5817
6.14k
    }
5818
6.14k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
6.14k
        return reader_impl_for_code_point<CharT>{};
5820
6.14k
    }
5821
6.14k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
6.14k
                       std::is_same_v<T, std::wstring_view>) {
5823
6.14k
        return reader_impl_for_string<CharT>{};
5824
6.14k
    }
5825
6.14k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
6.14k
                       std::is_same_v<T, std::wstring>) {
5827
6.14k
        return reader_impl_for_string<CharT>{};
5828
6.14k
    }
5829
6.14k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
6.14k
                       std::is_same_v<T, wregex_matches>) {
5831
6.14k
        return reader_impl_for_regex_matches<CharT>{};
5832
6.14k
    }
5833
6.14k
    else if constexpr (std::is_same_v<T, void*>) {
5834
6.14k
        return reader_impl_for_voidptr<CharT>{};
5835
6.14k
    }
5836
6.14k
    else if constexpr (std::is_floating_point_v<T>) {
5837
6.14k
        return reader_impl_for_float<CharT>{};
5838
6.14k
    }
5839
6.14k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
6.14k
                       !std::is_same_v<T, wchar_t> &&
5841
6.14k
                       !std::is_same_v<T, char32_t> &&
5842
6.14k
                       !std::is_same_v<T, bool>) {
5843
6.14k
        return reader_impl_for_int<CharT>{};
5844
6.14k
    }
5845
6.14k
    else {
5846
6.14k
        return reader_impl_for_monostate<CharT>{};
5847
6.14k
    }
5848
6.14k
}
auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5808
166k
{
5809
166k
    if constexpr (std::is_same_v<T, bool>) {
5810
166k
        return reader_impl_for_bool<CharT>{};
5811
166k
    }
5812
166k
    else if constexpr (std::is_same_v<T, char>) {
5813
166k
        return reader_impl_for_char<CharT>{};
5814
166k
    }
5815
166k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
166k
        return reader_impl_for_wchar<CharT>{};
5817
166k
    }
5818
166k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
166k
        return reader_impl_for_code_point<CharT>{};
5820
166k
    }
5821
166k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
166k
                       std::is_same_v<T, std::wstring_view>) {
5823
166k
        return reader_impl_for_string<CharT>{};
5824
166k
    }
5825
166k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
166k
                       std::is_same_v<T, std::wstring>) {
5827
166k
        return reader_impl_for_string<CharT>{};
5828
166k
    }
5829
166k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
166k
                       std::is_same_v<T, wregex_matches>) {
5831
166k
        return reader_impl_for_regex_matches<CharT>{};
5832
166k
    }
5833
166k
    else if constexpr (std::is_same_v<T, void*>) {
5834
166k
        return reader_impl_for_voidptr<CharT>{};
5835
166k
    }
5836
166k
    else if constexpr (std::is_floating_point_v<T>) {
5837
166k
        return reader_impl_for_float<CharT>{};
5838
166k
    }
5839
166k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
166k
                       !std::is_same_v<T, wchar_t> &&
5841
166k
                       !std::is_same_v<T, char32_t> &&
5842
166k
                       !std::is_same_v<T, bool>) {
5843
166k
        return reader_impl_for_int<CharT>{};
5844
166k
    }
5845
166k
    else {
5846
166k
        return reader_impl_for_monostate<CharT>{};
5847
166k
    }
5848
166k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5808
1.12k
{
5809
1.12k
    if constexpr (std::is_same_v<T, bool>) {
5810
1.12k
        return reader_impl_for_bool<CharT>{};
5811
1.12k
    }
5812
1.12k
    else if constexpr (std::is_same_v<T, char>) {
5813
1.12k
        return reader_impl_for_char<CharT>{};
5814
1.12k
    }
5815
1.12k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
1.12k
        return reader_impl_for_wchar<CharT>{};
5817
1.12k
    }
5818
1.12k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
1.12k
        return reader_impl_for_code_point<CharT>{};
5820
1.12k
    }
5821
1.12k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
1.12k
                       std::is_same_v<T, std::wstring_view>) {
5823
1.12k
        return reader_impl_for_string<CharT>{};
5824
1.12k
    }
5825
1.12k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
1.12k
                       std::is_same_v<T, std::wstring>) {
5827
1.12k
        return reader_impl_for_string<CharT>{};
5828
1.12k
    }
5829
1.12k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
1.12k
                       std::is_same_v<T, wregex_matches>) {
5831
1.12k
        return reader_impl_for_regex_matches<CharT>{};
5832
1.12k
    }
5833
1.12k
    else if constexpr (std::is_same_v<T, void*>) {
5834
1.12k
        return reader_impl_for_voidptr<CharT>{};
5835
1.12k
    }
5836
1.12k
    else if constexpr (std::is_floating_point_v<T>) {
5837
1.12k
        return reader_impl_for_float<CharT>{};
5838
1.12k
    }
5839
1.12k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
1.12k
                       !std::is_same_v<T, wchar_t> &&
5841
1.12k
                       !std::is_same_v<T, char32_t> &&
5842
1.12k
                       !std::is_same_v<T, bool>) {
5843
1.12k
        return reader_impl_for_int<CharT>{};
5844
1.12k
    }
5845
1.12k
    else {
5846
1.12k
        return reader_impl_for_monostate<CharT>{};
5847
1.12k
    }
5848
1.12k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5808
40.8M
{
5809
40.8M
    if constexpr (std::is_same_v<T, bool>) {
5810
40.8M
        return reader_impl_for_bool<CharT>{};
5811
40.8M
    }
5812
40.8M
    else if constexpr (std::is_same_v<T, char>) {
5813
40.8M
        return reader_impl_for_char<CharT>{};
5814
40.8M
    }
5815
40.8M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
40.8M
        return reader_impl_for_wchar<CharT>{};
5817
40.8M
    }
5818
40.8M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
40.8M
        return reader_impl_for_code_point<CharT>{};
5820
40.8M
    }
5821
40.8M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
40.8M
                       std::is_same_v<T, std::wstring_view>) {
5823
40.8M
        return reader_impl_for_string<CharT>{};
5824
40.8M
    }
5825
40.8M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
40.8M
                       std::is_same_v<T, std::wstring>) {
5827
40.8M
        return reader_impl_for_string<CharT>{};
5828
40.8M
    }
5829
40.8M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
40.8M
                       std::is_same_v<T, wregex_matches>) {
5831
40.8M
        return reader_impl_for_regex_matches<CharT>{};
5832
40.8M
    }
5833
40.8M
    else if constexpr (std::is_same_v<T, void*>) {
5834
40.8M
        return reader_impl_for_voidptr<CharT>{};
5835
40.8M
    }
5836
40.8M
    else if constexpr (std::is_floating_point_v<T>) {
5837
40.8M
        return reader_impl_for_float<CharT>{};
5838
40.8M
    }
5839
40.8M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
40.8M
                       !std::is_same_v<T, wchar_t> &&
5841
40.8M
                       !std::is_same_v<T, char32_t> &&
5842
40.8M
                       !std::is_same_v<T, bool>) {
5843
40.8M
        return reader_impl_for_int<CharT>{};
5844
40.8M
    }
5845
40.8M
    else {
5846
40.8M
        return reader_impl_for_monostate<CharT>{};
5847
40.8M
    }
5848
40.8M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5808
20.4M
{
5809
20.4M
    if constexpr (std::is_same_v<T, bool>) {
5810
20.4M
        return reader_impl_for_bool<CharT>{};
5811
20.4M
    }
5812
20.4M
    else if constexpr (std::is_same_v<T, char>) {
5813
20.4M
        return reader_impl_for_char<CharT>{};
5814
20.4M
    }
5815
20.4M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
20.4M
        return reader_impl_for_wchar<CharT>{};
5817
20.4M
    }
5818
20.4M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
20.4M
        return reader_impl_for_code_point<CharT>{};
5820
20.4M
    }
5821
20.4M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
20.4M
                       std::is_same_v<T, std::wstring_view>) {
5823
20.4M
        return reader_impl_for_string<CharT>{};
5824
20.4M
    }
5825
20.4M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
20.4M
                       std::is_same_v<T, std::wstring>) {
5827
20.4M
        return reader_impl_for_string<CharT>{};
5828
20.4M
    }
5829
20.4M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
20.4M
                       std::is_same_v<T, wregex_matches>) {
5831
20.4M
        return reader_impl_for_regex_matches<CharT>{};
5832
20.4M
    }
5833
20.4M
    else if constexpr (std::is_same_v<T, void*>) {
5834
20.4M
        return reader_impl_for_voidptr<CharT>{};
5835
20.4M
    }
5836
20.4M
    else if constexpr (std::is_floating_point_v<T>) {
5837
20.4M
        return reader_impl_for_float<CharT>{};
5838
20.4M
    }
5839
20.4M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
20.4M
                       !std::is_same_v<T, wchar_t> &&
5841
20.4M
                       !std::is_same_v<T, char32_t> &&
5842
20.4M
                       !std::is_same_v<T, bool>) {
5843
20.4M
        return reader_impl_for_int<CharT>{};
5844
20.4M
    }
5845
20.4M
    else {
5846
20.4M
        return reader_impl_for_monostate<CharT>{};
5847
20.4M
    }
5848
20.4M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, wchar_t>()
5849
5850
template <typename Context>
5851
struct default_arg_reader {
5852
    using context_type = Context;
5853
    using char_type = typename context_type::char_type;
5854
    using args_type = typename context_type::args_type;
5855
5856
    using range_type = typename context_type::range_type;
5857
    using iterator = ranges::iterator_t<range_type>;
5858
5859
    template <typename Reader, typename Range, typename T>
5860
    auto impl(Reader& rd, Range rng, T& value)
5861
        -> scan_expected<ranges::iterator_t<Range>>
5862
39.6M
    {
5863
39.6M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
39.6M
                        .transform_error(make_eof_scan_error));
5865
39.6M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
39.6M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
91.8k
    {
5863
91.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
90.7k
                        .transform_error(make_eof_scan_error));
5865
90.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
92.8k
    {
5863
92.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
91.6k
                        .transform_error(make_eof_scan_error));
5865
91.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
92.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
69.9k
    {
5863
69.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.4k
                        .transform_error(make_eof_scan_error));
5865
69.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.6k
    {
5863
78.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.9k
                        .transform_error(make_eof_scan_error));
5865
77.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
79.0k
    {
5863
79.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.2k
                        .transform_error(make_eof_scan_error));
5865
78.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.0k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
654
    {
5863
654
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
654
                        .transform_error(make_eof_scan_error));
5865
654
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
654
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
654
    {
5863
654
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
654
                        .transform_error(make_eof_scan_error));
5865
654
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
654
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
654
    {
5863
654
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
654
                        .transform_error(make_eof_scan_error));
5865
654
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
654
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
222k
    {
5863
222k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
220k
                        .transform_error(make_eof_scan_error));
5865
220k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
222k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
246k
    {
5863
246k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
244k
                        .transform_error(make_eof_scan_error));
5865
244k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
246k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
250k
    {
5863
250k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
247k
                        .transform_error(make_eof_scan_error));
5865
247k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
250k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
94.4k
    {
5863
94.4k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
92.9k
                        .transform_error(make_eof_scan_error));
5865
92.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
94.4k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
94.4k
    {
5863
94.4k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
92.9k
                        .transform_error(make_eof_scan_error));
5865
92.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
94.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
654
    {
5863
654
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
654
                        .transform_error(make_eof_scan_error));
5865
654
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
654
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.7k
    {
5863
78.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
89.5k
    {
5863
89.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
88.4k
                        .transform_error(make_eof_scan_error));
5865
88.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
91.0k
    {
5863
91.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
89.9k
                        .transform_error(make_eof_scan_error));
5865
89.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
69.8k
    {
5863
69.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.3k
                        .transform_error(make_eof_scan_error));
5865
69.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
77.8k
    {
5863
77.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.1k
                        .transform_error(make_eof_scan_error));
5865
77.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
77.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
207k
    {
5863
207k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
205k
                        .transform_error(make_eof_scan_error));
5865
205k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
207k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
230k
    {
5863
230k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
227k
                        .transform_error(make_eof_scan_error));
5865
227k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
230k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
233k
    {
5863
233k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
230k
                        .transform_error(make_eof_scan_error));
5865
230k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
233k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
95.1k
    {
5863
95.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
93.5k
                        .transform_error(make_eof_scan_error));
5865
93.5k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
95.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.4k
    {
5863
12.4k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.3k
                        .transform_error(make_eof_scan_error));
5865
12.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.3k
    {
5863
12.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.3k
                        .transform_error(make_eof_scan_error));
5865
12.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
580
    {
5863
580
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
580
                        .transform_error(make_eof_scan_error));
5865
580
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
580
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
580
    {
5863
580
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
580
                        .transform_error(make_eof_scan_error));
5865
580
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
580
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
580
    {
5863
580
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
580
                        .transform_error(make_eof_scan_error));
5865
580
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
580
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
22.5k
    {
5863
22.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.3k
                        .transform_error(make_eof_scan_error));
5865
22.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.5k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
23.1k
    {
5863
23.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.9k
                        .transform_error(make_eof_scan_error));
5865
22.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
23.1k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
22.6k
    {
5863
22.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.4k
                        .transform_error(make_eof_scan_error));
5865
22.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
580
    {
5863
580
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
580
                        .transform_error(make_eof_scan_error));
5865
580
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
580
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
12.2M
    {
5863
12.2M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2M
                        .transform_error(make_eof_scan_error));
5865
12.2M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.2M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
12.2M
    {
5863
12.2M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2M
                        .transform_error(make_eof_scan_error));
5865
12.2M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.2M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
22.5k
    {
5863
22.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.3k
                        .transform_error(make_eof_scan_error));
5865
22.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
22.5k
    {
5863
22.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.3k
                        .transform_error(make_eof_scan_error));
5865
22.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
22.6k
    {
5863
22.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
22.4k
                        .transform_error(make_eof_scan_error));
5865
22.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
12.2M
    {
5863
12.2M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2M
                        .transform_error(make_eof_scan_error));
5865
12.2M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.2M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
5867
5868
    template <typename T>
5869
    scan_expected<iterator> operator()(T& value)
5870
39.6M
    {
5871
39.6M
        if constexpr (!detail::is_type_disabled<T> &&
5872
39.6M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
13.6M
            auto rd = make_reader<T, char_type>();
5876
13.6M
            return impl(rd, range, value);
5877
13.6M
        }
5878
13.6M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
13.6M
            auto rd = make_reader<T, char_type>();
5880
13.6M
            if (!is_segment_contiguous(range)) {
5881
13.6M
                return impl(rd, range, value);
5882
13.6M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
39.6M
        else {
5889
39.6M
            SCN_EXPECT(false);
5890
39.6M
            SCN_UNREACHABLE;
5891
39.6M
        }
5892
39.6M
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
78.8k
            auto crange = get_as_contiguous(range);
5884
78.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.8k
            return ranges::next(range.begin(),
5886
78.8k
                                ranges::distance(crange.begin(), it));
5887
78.8k
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
91.8k
    {
5871
91.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
91.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
91.8k
            auto rd = make_reader<T, char_type>();
5876
91.8k
            return impl(rd, range, value);
5877
91.8k
        }
5878
91.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.8k
            auto rd = make_reader<T, char_type>();
5880
91.8k
            if (!is_segment_contiguous(range)) {
5881
91.8k
                return impl(rd, range, value);
5882
91.8k
            }
5883
91.8k
            auto crange = get_as_contiguous(range);
5884
91.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
91.8k
            return ranges::next(range.begin(),
5886
91.8k
                                ranges::distance(crange.begin(), it));
5887
91.8k
        }
5888
91.8k
        else {
5889
91.8k
            SCN_EXPECT(false);
5890
91.8k
            SCN_UNREACHABLE;
5891
91.8k
        }
5892
91.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
92.8k
    {
5871
92.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
92.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
92.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
92.8k
            auto rd = make_reader<T, char_type>();
5876
92.8k
            return impl(rd, range, value);
5877
92.8k
        }
5878
92.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
92.8k
            auto rd = make_reader<T, char_type>();
5880
92.8k
            if (!is_segment_contiguous(range)) {
5881
92.8k
                return impl(rd, range, value);
5882
92.8k
            }
5883
92.8k
            auto crange = get_as_contiguous(range);
5884
92.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
92.8k
            return ranges::next(range.begin(),
5886
92.8k
                                ranges::distance(crange.begin(), it));
5887
92.8k
        }
5888
92.8k
        else {
5889
92.8k
            SCN_EXPECT(false);
5890
92.8k
            SCN_UNREACHABLE;
5891
92.8k
        }
5892
92.8k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.9k
    {
5871
69.9k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.9k
                      std::is_same_v<
5873
0
                          context_type,
5874
69.9k
                          basic_contiguous_scan_context<char_type>>) {
5875
69.9k
            auto rd = make_reader<T, char_type>();
5876
69.9k
            return impl(rd, range, value);
5877
69.9k
        }
5878
69.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.9k
            auto rd = make_reader<T, char_type>();
5880
69.9k
            if (!is_segment_contiguous(range)) {
5881
69.9k
                return impl(rd, range, value);
5882
69.9k
            }
5883
69.9k
            auto crange = get_as_contiguous(range);
5884
69.9k
            SCN_TRY(it, impl(rd, crange, value));
5885
69.9k
            return ranges::next(range.begin(),
5886
69.9k
                                ranges::distance(crange.begin(), it));
5887
69.9k
        }
5888
69.9k
        else {
5889
69.9k
            SCN_EXPECT(false);
5890
69.9k
            SCN_UNREACHABLE;
5891
69.9k
        }
5892
69.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
78.6k
    {
5871
78.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.6k
            auto rd = make_reader<T, char_type>();
5876
78.6k
            return impl(rd, range, value);
5877
78.6k
        }
5878
78.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.6k
            auto rd = make_reader<T, char_type>();
5880
78.6k
            if (!is_segment_contiguous(range)) {
5881
78.6k
                return impl(rd, range, value);
5882
78.6k
            }
5883
78.6k
            auto crange = get_as_contiguous(range);
5884
78.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.6k
            return ranges::next(range.begin(),
5886
78.6k
                                ranges::distance(crange.begin(), it));
5887
78.6k
        }
5888
78.6k
        else {
5889
78.6k
            SCN_EXPECT(false);
5890
78.6k
            SCN_UNREACHABLE;
5891
78.6k
        }
5892
78.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
79.0k
    {
5871
79.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.0k
            auto rd = make_reader<T, char_type>();
5876
79.0k
            return impl(rd, range, value);
5877
79.0k
        }
5878
79.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.0k
            auto rd = make_reader<T, char_type>();
5880
79.0k
            if (!is_segment_contiguous(range)) {
5881
79.0k
                return impl(rd, range, value);
5882
79.0k
            }
5883
79.0k
            auto crange = get_as_contiguous(range);
5884
79.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.0k
            return ranges::next(range.begin(),
5886
79.0k
                                ranges::distance(crange.begin(), it));
5887
79.0k
        }
5888
79.0k
        else {
5889
79.0k
            SCN_EXPECT(false);
5890
79.0k
            SCN_UNREACHABLE;
5891
79.0k
        }
5892
79.0k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
5870
654
    {
5871
654
        if constexpr (!detail::is_type_disabled<T> &&
5872
654
                      std::is_same_v<
5873
0
                          context_type,
5874
654
                          basic_contiguous_scan_context<char_type>>) {
5875
654
            auto rd = make_reader<T, char_type>();
5876
654
            return impl(rd, range, value);
5877
654
        }
5878
654
        else if constexpr (!detail::is_type_disabled<T>) {
5879
654
            auto rd = make_reader<T, char_type>();
5880
654
            if (!is_segment_contiguous(range)) {
5881
654
                return impl(rd, range, value);
5882
654
            }
5883
654
            auto crange = get_as_contiguous(range);
5884
654
            SCN_TRY(it, impl(rd, crange, value));
5885
654
            return ranges::next(range.begin(),
5886
654
                                ranges::distance(crange.begin(), it));
5887
654
        }
5888
654
        else {
5889
654
            SCN_EXPECT(false);
5890
654
            SCN_UNREACHABLE;
5891
654
        }
5892
654
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
5870
654
    {
5871
654
        if constexpr (!detail::is_type_disabled<T> &&
5872
654
                      std::is_same_v<
5873
0
                          context_type,
5874
654
                          basic_contiguous_scan_context<char_type>>) {
5875
654
            auto rd = make_reader<T, char_type>();
5876
654
            return impl(rd, range, value);
5877
654
        }
5878
654
        else if constexpr (!detail::is_type_disabled<T>) {
5879
654
            auto rd = make_reader<T, char_type>();
5880
654
            if (!is_segment_contiguous(range)) {
5881
654
                return impl(rd, range, value);
5882
654
            }
5883
654
            auto crange = get_as_contiguous(range);
5884
654
            SCN_TRY(it, impl(rd, crange, value));
5885
654
            return ranges::next(range.begin(),
5886
654
                                ranges::distance(crange.begin(), it));
5887
654
        }
5888
654
        else {
5889
654
            SCN_EXPECT(false);
5890
654
            SCN_UNREACHABLE;
5891
654
        }
5892
654
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
5870
654
    {
5871
654
        if constexpr (!detail::is_type_disabled<T> &&
5872
654
                      std::is_same_v<
5873
0
                          context_type,
5874
654
                          basic_contiguous_scan_context<char_type>>) {
5875
654
            auto rd = make_reader<T, char_type>();
5876
654
            return impl(rd, range, value);
5877
654
        }
5878
654
        else if constexpr (!detail::is_type_disabled<T>) {
5879
654
            auto rd = make_reader<T, char_type>();
5880
654
            if (!is_segment_contiguous(range)) {
5881
654
                return impl(rd, range, value);
5882
654
            }
5883
654
            auto crange = get_as_contiguous(range);
5884
654
            SCN_TRY(it, impl(rd, crange, value));
5885
654
            return ranges::next(range.begin(),
5886
654
                                ranges::distance(crange.begin(), it));
5887
654
        }
5888
654
        else {
5889
654
            SCN_EXPECT(false);
5890
654
            SCN_UNREACHABLE;
5891
654
        }
5892
654
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
222k
    {
5871
222k
        if constexpr (!detail::is_type_disabled<T> &&
5872
222k
                      std::is_same_v<
5873
0
                          context_type,
5874
222k
                          basic_contiguous_scan_context<char_type>>) {
5875
222k
            auto rd = make_reader<T, char_type>();
5876
222k
            return impl(rd, range, value);
5877
222k
        }
5878
222k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
222k
            auto rd = make_reader<T, char_type>();
5880
222k
            if (!is_segment_contiguous(range)) {
5881
222k
                return impl(rd, range, value);
5882
222k
            }
5883
222k
            auto crange = get_as_contiguous(range);
5884
222k
            SCN_TRY(it, impl(rd, crange, value));
5885
222k
            return ranges::next(range.begin(),
5886
222k
                                ranges::distance(crange.begin(), it));
5887
222k
        }
5888
222k
        else {
5889
222k
            SCN_EXPECT(false);
5890
222k
            SCN_UNREACHABLE;
5891
222k
        }
5892
222k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
246k
    {
5871
246k
        if constexpr (!detail::is_type_disabled<T> &&
5872
246k
                      std::is_same_v<
5873
0
                          context_type,
5874
246k
                          basic_contiguous_scan_context<char_type>>) {
5875
246k
            auto rd = make_reader<T, char_type>();
5876
246k
            return impl(rd, range, value);
5877
246k
        }
5878
246k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
246k
            auto rd = make_reader<T, char_type>();
5880
246k
            if (!is_segment_contiguous(range)) {
5881
246k
                return impl(rd, range, value);
5882
246k
            }
5883
246k
            auto crange = get_as_contiguous(range);
5884
246k
            SCN_TRY(it, impl(rd, crange, value));
5885
246k
            return ranges::next(range.begin(),
5886
246k
                                ranges::distance(crange.begin(), it));
5887
246k
        }
5888
246k
        else {
5889
246k
            SCN_EXPECT(false);
5890
246k
            SCN_UNREACHABLE;
5891
246k
        }
5892
246k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
250k
    {
5871
250k
        if constexpr (!detail::is_type_disabled<T> &&
5872
250k
                      std::is_same_v<
5873
0
                          context_type,
5874
250k
                          basic_contiguous_scan_context<char_type>>) {
5875
250k
            auto rd = make_reader<T, char_type>();
5876
250k
            return impl(rd, range, value);
5877
250k
        }
5878
250k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
250k
            auto rd = make_reader<T, char_type>();
5880
250k
            if (!is_segment_contiguous(range)) {
5881
250k
                return impl(rd, range, value);
5882
250k
            }
5883
250k
            auto crange = get_as_contiguous(range);
5884
250k
            SCN_TRY(it, impl(rd, crange, value));
5885
250k
            return ranges::next(range.begin(),
5886
250k
                                ranges::distance(crange.begin(), it));
5887
250k
        }
5888
250k
        else {
5889
250k
            SCN_EXPECT(false);
5890
250k
            SCN_UNREACHABLE;
5891
250k
        }
5892
250k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
94.4k
    {
5871
94.4k
        if constexpr (!detail::is_type_disabled<T> &&
5872
94.4k
                      std::is_same_v<
5873
0
                          context_type,
5874
94.4k
                          basic_contiguous_scan_context<char_type>>) {
5875
94.4k
            auto rd = make_reader<T, char_type>();
5876
94.4k
            return impl(rd, range, value);
5877
94.4k
        }
5878
94.4k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
94.4k
            auto rd = make_reader<T, char_type>();
5880
94.4k
            if (!is_segment_contiguous(range)) {
5881
94.4k
                return impl(rd, range, value);
5882
94.4k
            }
5883
94.4k
            auto crange = get_as_contiguous(range);
5884
94.4k
            SCN_TRY(it, impl(rd, crange, value));
5885
94.4k
            return ranges::next(range.begin(),
5886
94.4k
                                ranges::distance(crange.begin(), it));
5887
94.4k
        }
5888
94.4k
        else {
5889
94.4k
            SCN_EXPECT(false);
5890
94.4k
            SCN_UNREACHABLE;
5891
94.4k
        }
5892
94.4k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
94.4k
    {
5871
94.4k
        if constexpr (!detail::is_type_disabled<T> &&
5872
94.4k
                      std::is_same_v<
5873
0
                          context_type,
5874
94.4k
                          basic_contiguous_scan_context<char_type>>) {
5875
94.4k
            auto rd = make_reader<T, char_type>();
5876
94.4k
            return impl(rd, range, value);
5877
94.4k
        }
5878
94.4k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
94.4k
            auto rd = make_reader<T, char_type>();
5880
94.4k
            if (!is_segment_contiguous(range)) {
5881
94.4k
                return impl(rd, range, value);
5882
94.4k
            }
5883
94.4k
            auto crange = get_as_contiguous(range);
5884
94.4k
            SCN_TRY(it, impl(rd, crange, value));
5885
94.4k
            return ranges::next(range.begin(),
5886
94.4k
                                ranges::distance(crange.begin(), it));
5887
94.4k
        }
5888
94.4k
        else {
5889
94.4k
            SCN_EXPECT(false);
5890
94.4k
            SCN_UNREACHABLE;
5891
94.4k
        }
5892
94.4k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
654
    {
5871
654
        if constexpr (!detail::is_type_disabled<T> &&
5872
654
                      std::is_same_v<
5873
0
                          context_type,
5874
654
                          basic_contiguous_scan_context<char_type>>) {
5875
654
            auto rd = make_reader<T, char_type>();
5876
654
            return impl(rd, range, value);
5877
654
        }
5878
654
        else if constexpr (!detail::is_type_disabled<T>) {
5879
654
            auto rd = make_reader<T, char_type>();
5880
654
            if (!is_segment_contiguous(range)) {
5881
654
                return impl(rd, range, value);
5882
654
            }
5883
654
            auto crange = get_as_contiguous(range);
5884
654
            SCN_TRY(it, impl(rd, crange, value));
5885
654
            return ranges::next(range.begin(),
5886
654
                                ranges::distance(crange.begin(), it));
5887
654
        }
5888
654
        else {
5889
654
            SCN_EXPECT(false);
5890
654
            SCN_UNREACHABLE;
5891
654
        }
5892
654
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.7k
    {
5871
78.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.7k
            auto rd = make_reader<T, char_type>();
5876
78.7k
            return impl(rd, range, value);
5877
78.7k
        }
5878
78.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.7k
            auto rd = make_reader<T, char_type>();
5880
78.7k
            if (!is_segment_contiguous(range)) {
5881
78.7k
                return impl(rd, range, value);
5882
78.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.7k
        else {
5889
78.7k
            SCN_EXPECT(false);
5890
78.7k
            SCN_UNREACHABLE;
5891
78.7k
        }
5892
78.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
89.5k
    {
5871
89.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
89.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
89.5k
            auto rd = make_reader<T, char_type>();
5876
89.5k
            return impl(rd, range, value);
5877
89.5k
        }
5878
89.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
89.5k
            auto rd = make_reader<T, char_type>();
5880
89.5k
            if (!is_segment_contiguous(range)) {
5881
89.5k
                return impl(rd, range, value);
5882
89.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
89.5k
        else {
5889
89.5k
            SCN_EXPECT(false);
5890
89.5k
            SCN_UNREACHABLE;
5891
89.5k
        }
5892
89.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
91.0k
    {
5871
91.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
91.0k
            auto rd = make_reader<T, char_type>();
5876
91.0k
            return impl(rd, range, value);
5877
91.0k
        }
5878
91.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.0k
            auto rd = make_reader<T, char_type>();
5880
91.0k
            if (!is_segment_contiguous(range)) {
5881
91.0k
                return impl(rd, range, value);
5882
91.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
91.0k
        else {
5889
91.0k
            SCN_EXPECT(false);
5890
91.0k
            SCN_UNREACHABLE;
5891
91.0k
        }
5892
91.0k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.8k
    {
5871
69.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
69.8k
            auto rd = make_reader<T, char_type>();
5876
69.8k
            return impl(rd, range, value);
5877
69.8k
        }
5878
69.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.8k
            auto rd = make_reader<T, char_type>();
5880
69.8k
            if (!is_segment_contiguous(range)) {
5881
69.8k
                return impl(rd, range, value);
5882
69.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
69.8k
        else {
5889
69.8k
            SCN_EXPECT(false);
5890
69.8k
            SCN_UNREACHABLE;
5891
69.8k
        }
5892
69.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
77.8k
    {
5871
77.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
77.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
77.8k
            auto rd = make_reader<T, char_type>();
5876
77.8k
            return impl(rd, range, value);
5877
77.8k
        }
5878
77.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
77.8k
            auto rd = make_reader<T, char_type>();
5880
77.8k
            if (!is_segment_contiguous(range)) {
5881
77.8k
                return impl(rd, range, value);
5882
77.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
77.8k
        else {
5889
77.8k
            SCN_EXPECT(false);
5890
77.8k
            SCN_UNREACHABLE;
5891
77.8k
        }
5892
77.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
207k
    {
5871
207k
        if constexpr (!detail::is_type_disabled<T> &&
5872
207k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
207k
            auto rd = make_reader<T, char_type>();
5876
207k
            return impl(rd, range, value);
5877
207k
        }
5878
207k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
207k
            auto rd = make_reader<T, char_type>();
5880
207k
            if (!is_segment_contiguous(range)) {
5881
207k
                return impl(rd, range, value);
5882
207k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
207k
        else {
5889
207k
            SCN_EXPECT(false);
5890
207k
            SCN_UNREACHABLE;
5891
207k
        }
5892
207k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
230k
    {
5871
230k
        if constexpr (!detail::is_type_disabled<T> &&
5872
230k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
230k
            auto rd = make_reader<T, char_type>();
5876
230k
            return impl(rd, range, value);
5877
230k
        }
5878
230k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
230k
            auto rd = make_reader<T, char_type>();
5880
230k
            if (!is_segment_contiguous(range)) {
5881
230k
                return impl(rd, range, value);
5882
230k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
230k
        else {
5889
230k
            SCN_EXPECT(false);
5890
230k
            SCN_UNREACHABLE;
5891
230k
        }
5892
230k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
233k
    {
5871
233k
        if constexpr (!detail::is_type_disabled<T> &&
5872
233k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
233k
            auto rd = make_reader<T, char_type>();
5876
233k
            return impl(rd, range, value);
5877
233k
        }
5878
233k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
233k
            auto rd = make_reader<T, char_type>();
5880
233k
            if (!is_segment_contiguous(range)) {
5881
233k
                return impl(rd, range, value);
5882
233k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
233k
        else {
5889
233k
            SCN_EXPECT(false);
5890
233k
            SCN_UNREACHABLE;
5891
233k
        }
5892
233k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
95.1k
    {
5871
95.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
95.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
95.1k
            auto rd = make_reader<T, char_type>();
5876
95.1k
            return impl(rd, range, value);
5877
95.1k
        }
5878
95.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
95.1k
            auto rd = make_reader<T, char_type>();
5880
95.1k
            if (!is_segment_contiguous(range)) {
5881
95.1k
                return impl(rd, range, value);
5882
95.1k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
95.1k
        else {
5889
95.1k
            SCN_EXPECT(false);
5890
95.1k
            SCN_UNREACHABLE;
5891
95.1k
        }
5892
95.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
12.4k
    {
5871
12.4k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.4k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.4k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.4k
            auto rd = make_reader<T, char_type>();
5876
12.4k
            return impl(rd, range, value);
5877
12.4k
        }
5878
12.4k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.4k
            auto rd = make_reader<T, char_type>();
5880
12.4k
            if (!is_segment_contiguous(range)) {
5881
12.4k
                return impl(rd, range, value);
5882
12.4k
            }
5883
12.4k
            auto crange = get_as_contiguous(range);
5884
12.4k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.4k
            return ranges::next(range.begin(),
5886
12.4k
                                ranges::distance(crange.begin(), it));
5887
12.4k
        }
5888
12.4k
        else {
5889
12.4k
            SCN_EXPECT(false);
5890
12.4k
            SCN_UNREACHABLE;
5891
12.4k
        }
5892
12.4k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
11.7k
            auto crange = get_as_contiguous(range);
5884
11.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.7k
            return ranges::next(range.begin(),
5886
11.7k
                                ranges::distance(crange.begin(), it));
5887
11.7k
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
12.3k
    {
5871
12.3k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.3k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.3k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.3k
            auto rd = make_reader<T, char_type>();
5876
12.3k
            return impl(rd, range, value);
5877
12.3k
        }
5878
12.3k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.3k
            auto rd = make_reader<T, char_type>();
5880
12.3k
            if (!is_segment_contiguous(range)) {
5881
12.3k
                return impl(rd, range, value);
5882
12.3k
            }
5883
12.3k
            auto crange = get_as_contiguous(range);
5884
12.3k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.3k
            return ranges::next(range.begin(),
5886
12.3k
                                ranges::distance(crange.begin(), it));
5887
12.3k
        }
5888
12.3k
        else {
5889
12.3k
            SCN_EXPECT(false);
5890
12.3k
            SCN_UNREACHABLE;
5891
12.3k
        }
5892
12.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5870
580
    {
5871
580
        if constexpr (!detail::is_type_disabled<T> &&
5872
580
                      std::is_same_v<
5873
0
                          context_type,
5874
580
                          basic_contiguous_scan_context<char_type>>) {
5875
580
            auto rd = make_reader<T, char_type>();
5876
580
            return impl(rd, range, value);
5877
580
        }
5878
580
        else if constexpr (!detail::is_type_disabled<T>) {
5879
580
            auto rd = make_reader<T, char_type>();
5880
580
            if (!is_segment_contiguous(range)) {
5881
580
                return impl(rd, range, value);
5882
580
            }
5883
580
            auto crange = get_as_contiguous(range);
5884
580
            SCN_TRY(it, impl(rd, crange, value));
5885
580
            return ranges::next(range.begin(),
5886
580
                                ranges::distance(crange.begin(), it));
5887
580
        }
5888
580
        else {
5889
580
            SCN_EXPECT(false);
5890
580
            SCN_UNREACHABLE;
5891
580
        }
5892
580
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5870
580
    {
5871
580
        if constexpr (!detail::is_type_disabled<T> &&
5872
580
                      std::is_same_v<
5873
0
                          context_type,
5874
580
                          basic_contiguous_scan_context<char_type>>) {
5875
580
            auto rd = make_reader<T, char_type>();
5876
580
            return impl(rd, range, value);
5877
580
        }
5878
580
        else if constexpr (!detail::is_type_disabled<T>) {
5879
580
            auto rd = make_reader<T, char_type>();
5880
580
            if (!is_segment_contiguous(range)) {
5881
580
                return impl(rd, range, value);
5882
580
            }
5883
580
            auto crange = get_as_contiguous(range);
5884
580
            SCN_TRY(it, impl(rd, crange, value));
5885
580
            return ranges::next(range.begin(),
5886
580
                                ranges::distance(crange.begin(), it));
5887
580
        }
5888
580
        else {
5889
580
            SCN_EXPECT(false);
5890
580
            SCN_UNREACHABLE;
5891
580
        }
5892
580
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5870
580
    {
5871
580
        if constexpr (!detail::is_type_disabled<T> &&
5872
580
                      std::is_same_v<
5873
0
                          context_type,
5874
580
                          basic_contiguous_scan_context<char_type>>) {
5875
580
            auto rd = make_reader<T, char_type>();
5876
580
            return impl(rd, range, value);
5877
580
        }
5878
580
        else if constexpr (!detail::is_type_disabled<T>) {
5879
580
            auto rd = make_reader<T, char_type>();
5880
580
            if (!is_segment_contiguous(range)) {
5881
580
                return impl(rd, range, value);
5882
580
            }
5883
580
            auto crange = get_as_contiguous(range);
5884
580
            SCN_TRY(it, impl(rd, crange, value));
5885
580
            return ranges::next(range.begin(),
5886
580
                                ranges::distance(crange.begin(), it));
5887
580
        }
5888
580
        else {
5889
580
            SCN_EXPECT(false);
5890
580
            SCN_UNREACHABLE;
5891
580
        }
5892
580
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
22.5k
    {
5871
22.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
22.5k
                          basic_contiguous_scan_context<char_type>>) {
5875
22.5k
            auto rd = make_reader<T, char_type>();
5876
22.5k
            return impl(rd, range, value);
5877
22.5k
        }
5878
22.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.5k
            auto rd = make_reader<T, char_type>();
5880
22.5k
            if (!is_segment_contiguous(range)) {
5881
22.5k
                return impl(rd, range, value);
5882
22.5k
            }
5883
22.5k
            auto crange = get_as_contiguous(range);
5884
22.5k
            SCN_TRY(it, impl(rd, crange, value));
5885
22.5k
            return ranges::next(range.begin(),
5886
22.5k
                                ranges::distance(crange.begin(), it));
5887
22.5k
        }
5888
22.5k
        else {
5889
22.5k
            SCN_EXPECT(false);
5890
22.5k
            SCN_UNREACHABLE;
5891
22.5k
        }
5892
22.5k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
23.1k
    {
5871
23.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
23.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
23.1k
                          basic_contiguous_scan_context<char_type>>) {
5875
23.1k
            auto rd = make_reader<T, char_type>();
5876
23.1k
            return impl(rd, range, value);
5877
23.1k
        }
5878
23.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
23.1k
            auto rd = make_reader<T, char_type>();
5880
23.1k
            if (!is_segment_contiguous(range)) {
5881
23.1k
                return impl(rd, range, value);
5882
23.1k
            }
5883
23.1k
            auto crange = get_as_contiguous(range);
5884
23.1k
            SCN_TRY(it, impl(rd, crange, value));
5885
23.1k
            return ranges::next(range.begin(),
5886
23.1k
                                ranges::distance(crange.begin(), it));
5887
23.1k
        }
5888
23.1k
        else {
5889
23.1k
            SCN_EXPECT(false);
5890
23.1k
            SCN_UNREACHABLE;
5891
23.1k
        }
5892
23.1k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
22.6k
    {
5871
22.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
22.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
22.6k
            auto rd = make_reader<T, char_type>();
5876
22.6k
            return impl(rd, range, value);
5877
22.6k
        }
5878
22.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.6k
            auto rd = make_reader<T, char_type>();
5880
22.6k
            if (!is_segment_contiguous(range)) {
5881
22.6k
                return impl(rd, range, value);
5882
22.6k
            }
5883
22.6k
            auto crange = get_as_contiguous(range);
5884
22.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
22.6k
            return ranges::next(range.begin(),
5886
22.6k
                                ranges::distance(crange.begin(), it));
5887
22.6k
        }
5888
22.6k
        else {
5889
22.6k
            SCN_EXPECT(false);
5890
22.6k
            SCN_UNREACHABLE;
5891
22.6k
        }
5892
22.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
580
    {
5871
580
        if constexpr (!detail::is_type_disabled<T> &&
5872
580
                      std::is_same_v<
5873
0
                          context_type,
5874
580
                          basic_contiguous_scan_context<char_type>>) {
5875
580
            auto rd = make_reader<T, char_type>();
5876
580
            return impl(rd, range, value);
5877
580
        }
5878
580
        else if constexpr (!detail::is_type_disabled<T>) {
5879
580
            auto rd = make_reader<T, char_type>();
5880
580
            if (!is_segment_contiguous(range)) {
5881
580
                return impl(rd, range, value);
5882
580
            }
5883
580
            auto crange = get_as_contiguous(range);
5884
580
            SCN_TRY(it, impl(rd, crange, value));
5885
580
            return ranges::next(range.begin(),
5886
580
                                ranges::distance(crange.begin(), it));
5887
580
        }
5888
580
        else {
5889
580
            SCN_EXPECT(false);
5890
580
            SCN_UNREACHABLE;
5891
580
        }
5892
580
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
12.2M
    {
5871
12.2M
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.2M
                      std::is_same_v<
5873
0
                          context_type,
5874
12.2M
                          basic_contiguous_scan_context<char_type>>) {
5875
12.2M
            auto rd = make_reader<T, char_type>();
5876
12.2M
            return impl(rd, range, value);
5877
12.2M
        }
5878
12.2M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.2M
            auto rd = make_reader<T, char_type>();
5880
12.2M
            if (!is_segment_contiguous(range)) {
5881
12.2M
                return impl(rd, range, value);
5882
12.2M
            }
5883
12.2M
            auto crange = get_as_contiguous(range);
5884
12.2M
            SCN_TRY(it, impl(rd, crange, value));
5885
12.2M
            return ranges::next(range.begin(),
5886
12.2M
                                ranges::distance(crange.begin(), it));
5887
12.2M
        }
5888
12.2M
        else {
5889
12.2M
            SCN_EXPECT(false);
5890
12.2M
            SCN_UNREACHABLE;
5891
12.2M
        }
5892
12.2M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
12.2M
    {
5871
12.2M
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.2M
                      std::is_same_v<
5873
0
                          context_type,
5874
12.2M
                          basic_contiguous_scan_context<char_type>>) {
5875
12.2M
            auto rd = make_reader<T, char_type>();
5876
12.2M
            return impl(rd, range, value);
5877
12.2M
        }
5878
12.2M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.2M
            auto rd = make_reader<T, char_type>();
5880
12.2M
            if (!is_segment_contiguous(range)) {
5881
12.2M
                return impl(rd, range, value);
5882
12.2M
            }
5883
12.2M
            auto crange = get_as_contiguous(range);
5884
12.2M
            SCN_TRY(it, impl(rd, crange, value));
5885
12.2M
            return ranges::next(range.begin(),
5886
12.2M
                                ranges::distance(crange.begin(), it));
5887
12.2M
        }
5888
12.2M
        else {
5889
12.2M
            SCN_EXPECT(false);
5890
12.2M
            SCN_UNREACHABLE;
5891
12.2M
        }
5892
12.2M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
22.5k
    {
5871
22.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
22.5k
            auto rd = make_reader<T, char_type>();
5876
22.5k
            return impl(rd, range, value);
5877
22.5k
        }
5878
22.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.5k
            auto rd = make_reader<T, char_type>();
5880
22.5k
            if (!is_segment_contiguous(range)) {
5881
22.5k
                return impl(rd, range, value);
5882
22.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
22.5k
        else {
5889
22.5k
            SCN_EXPECT(false);
5890
22.5k
            SCN_UNREACHABLE;
5891
22.5k
        }
5892
22.5k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
22.5k
    {
5871
22.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
22.5k
            auto rd = make_reader<T, char_type>();
5876
22.5k
            return impl(rd, range, value);
5877
22.5k
        }
5878
22.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.5k
            auto rd = make_reader<T, char_type>();
5880
22.5k
            if (!is_segment_contiguous(range)) {
5881
22.5k
                return impl(rd, range, value);
5882
22.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
22.5k
        else {
5889
22.5k
            SCN_EXPECT(false);
5890
22.5k
            SCN_UNREACHABLE;
5891
22.5k
        }
5892
22.5k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
22.6k
    {
5871
22.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
22.6k
            auto rd = make_reader<T, char_type>();
5876
22.6k
            return impl(rd, range, value);
5877
22.6k
        }
5878
22.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.6k
            auto rd = make_reader<T, char_type>();
5880
22.6k
            if (!is_segment_contiguous(range)) {
5881
22.6k
                return impl(rd, range, value);
5882
22.6k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
22.6k
        else {
5889
22.6k
            SCN_EXPECT(false);
5890
22.6k
            SCN_UNREACHABLE;
5891
22.6k
        }
5892
22.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
12.2M
    {
5871
12.2M
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.2M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
12.2M
            auto rd = make_reader<T, char_type>();
5876
12.2M
            return impl(rd, range, value);
5877
12.2M
        }
5878
12.2M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.2M
            auto rd = make_reader<T, char_type>();
5880
12.2M
            if (!is_segment_contiguous(range)) {
5881
12.2M
                return impl(rd, range, value);
5882
12.2M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
12.2M
        else {
5889
12.2M
            SCN_EXPECT(false);
5890
12.2M
            SCN_UNREACHABLE;
5891
12.2M
        }
5892
12.2M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
5893
5894
    basic_scan_context<char_type> make_custom_ctx()
5895
0
    {
5896
0
        if constexpr (std::is_same_v<
5897
0
                          context_type,
5898
0
                          basic_contiguous_scan_context<char_type>>) {
5899
0
            auto it =
5900
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
5901
0
                    std::basic_string_view<char_type>(range.data(),
5902
0
                                                      range.size()),
5903
0
                    0};
5904
0
            return {it, args, loc};
5905
0
        }
5906
0
        else {
5907
0
            return {range.begin(), args, loc};
5908
0
        }
5909
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::make_custom_ctx()
5910
5911
    scan_expected<iterator> operator()(
5912
        typename context_type::arg_type::handle h)
5913
0
    {
5914
0
        if constexpr (!detail::is_type_disabled<void>) {
5915
0
            basic_scan_parse_context<char_type> parse_ctx{{}};
5916
0
            auto ctx = make_custom_ctx();
5917
0
            if (auto e = h.scan(parse_ctx, ctx); !e) {
5918
0
                return unexpected(e);
5919
0
            }
5920
5921
0
            if constexpr (std::is_same_v<
5922
0
                              context_type,
5923
0
                              basic_contiguous_scan_context<char_type>>) {
5924
0
                return range.begin() + ctx.begin().position();
5925
0
            }
5926
0
            else {
5927
0
                return ctx.begin();
5928
0
            }
5929
0
        }
5930
0
        else {
5931
0
            SCN_EXPECT(false);
5932
0
            SCN_UNREACHABLE;
5933
0
        }
5934
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
5935
5936
    range_type range;
5937
    args_type args;
5938
    detail::locale_ref loc;
5939
};
5940
5941
template <typename Iterator>
5942
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
5943
5944
template <typename Range>
5945
auto skip_fill(Range range,
5946
               std::ptrdiff_t max_width,
5947
               const detail::fill_type& fill,
5948
               bool want_skipped_width)
5949
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
5950
3.85k
{
5951
3.85k
    using char_type = detail::char_t<Range>;
5952
3.85k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.85k
    if (fill.size() <= sizeof(char_type)) {
5955
3.42k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
4.10k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
3.84k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
264
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
3.42k
        if (max_width == 0) {
5959
2.25k
            auto it = read_while_code_unit(range, pred);
5960
5961
2.25k
            if (want_skipped_width) {
5962
214
                auto prefix_width =
5963
214
                    static_cast<std::ptrdiff_t>(
5964
214
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
214
                    ranges::distance(range.begin(), it);
5966
214
                return result_type{it, prefix_width};
5967
214
            }
5968
2.04k
            return result_type{it, 0};
5969
2.25k
        }
5970
5971
1.16k
        auto max_width_view = take_width(range, max_width);
5972
1.16k
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
1.16k
        if (want_skipped_width) {
5975
1.16k
            return result_type{w_it.base(), max_width - w_it.count()};
5976
1.16k
        }
5977
0
        return result_type{w_it.base(), 0};
5978
1.16k
    }
5979
5980
434
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
434
    if (max_width == 0) {
5982
154
        auto it = read_while_code_units(range, fill_chars);
5983
5984
154
        if (want_skipped_width) {
5985
68
            auto prefix_width =
5986
68
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
68
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
68
            return result_type{it, prefix_width};
5989
68
        }
5990
86
        return result_type{it, 0};
5991
154
    }
5992
5993
280
    auto max_width_view = take_width(range, max_width);
5994
280
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
280
    if (want_skipped_width) {
5997
280
        return result_type{w_it.base(), max_width - w_it.count()};
5998
280
    }
5999
0
    return result_type{w_it.base(), 0};
6000
280
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
3.62k
{
5951
3.62k
    using char_type = detail::char_t<Range>;
5952
3.62k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.62k
    if (fill.size() <= sizeof(char_type)) {
5955
3.18k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
3.18k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
3.18k
        if (max_width == 0) {
5959
2.01k
            auto it = read_while_code_unit(range, pred);
5960
5961
2.01k
            if (want_skipped_width) {
5962
214
                auto prefix_width =
5963
214
                    static_cast<std::ptrdiff_t>(
5964
214
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
214
                    ranges::distance(range.begin(), it);
5966
214
                return result_type{it, prefix_width};
5967
214
            }
5968
1.80k
            return result_type{it, 0};
5969
2.01k
        }
5970
5971
1.16k
        auto max_width_view = take_width(range, max_width);
5972
1.16k
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
1.16k
        if (want_skipped_width) {
5975
1.16k
            return result_type{w_it.base(), max_width - w_it.count()};
5976
1.16k
        }
5977
0
        return result_type{w_it.base(), 0};
5978
1.16k
    }
5979
5980
434
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
434
    if (max_width == 0) {
5982
154
        auto it = read_while_code_units(range, fill_chars);
5983
5984
154
        if (want_skipped_width) {
5985
68
            auto prefix_width =
5986
68
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
68
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
68
            return result_type{it, prefix_width};
5989
68
        }
5990
86
        return result_type{it, 0};
5991
154
    }
5992
5993
280
    auto max_width_view = take_width(range, max_width);
5994
280
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
280
    if (want_skipped_width) {
5997
280
        return result_type{w_it.base(), max_width - w_it.count()};
5998
280
    }
5999
0
    return result_type{w_it.base(), 0};
6000
280
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
236
{
5951
236
    using char_type = detail::char_t<Range>;
5952
236
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
236
    if (fill.size() <= sizeof(char_type)) {
5955
236
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
236
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
236
        if (max_width == 0) {
5959
236
            auto it = read_while_code_unit(range, pred);
5960
5961
236
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
236
            return result_type{it, 0};
5969
236
        }
5970
5971
0
        auto max_width_view = take_width(range, max_width);
5972
0
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
0
        if (want_skipped_width) {
5975
0
            return result_type{w_it.base(), max_width - w_it.count()};
5976
0
        }
5977
0
        return result_type{w_it.base(), 0};
5978
0
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
6001
6002
SCN_MAYBE_UNUSED constexpr scan_error check_widths_for_arg_reader(
6003
    const detail::format_specs& specs,
6004
    std::ptrdiff_t prefix_width,
6005
    std::ptrdiff_t value_width,
6006
    std::ptrdiff_t postfix_width)
6007
31.0M
{
6008
31.0M
    if (specs.width != 0) {
6009
1.90k
        if (prefix_width + value_width + postfix_width < specs.width) {
6010
778
            return {scan_error::invalid_scanned_value,
6011
778
                    "Scanned value too narrow, width did not exceed what "
6012
778
                    "was specified in the format string"};
6013
778
        }
6014
1.90k
    }
6015
31.0M
    if (specs.precision != 0) {
6016
1.26k
        if (prefix_width + value_width + postfix_width > specs.precision) {
6017
32
            return {scan_error::invalid_scanned_value,
6018
32
                    "Scanned value too wide, width exceeded the specified "
6019
32
                    "precision"};
6020
32
        }
6021
1.26k
    }
6022
31.0M
    return {};
6023
31.0M
}
6024
6025
template <typename Context>
6026
struct arg_reader {
6027
    using context_type = Context;
6028
    using char_type = typename context_type::char_type;
6029
6030
    using range_type = typename context_type::range_type;
6031
    using iterator = ranges::iterator_t<range_type>;
6032
6033
    template <typename Range>
6034
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6035
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6036
32.4M
    {
6037
32.4M
        const bool need_skipped_width =
6038
32.4M
            specs.width != 0 || specs.precision != 0;
6039
32.4M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
32.4M
        if (specs.align == detail::align_type::right ||
6043
32.4M
            specs.align == detail::align_type::center) {
6044
3.23k
            return skip_fill(rng, specs.precision, specs.fill,
6045
3.23k
                             need_skipped_width);
6046
3.23k
        }
6047
32.4M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
32.4M
            if (specs.precision != 0) {
6051
1.97k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.97k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.88k
                                  .transform_error(make_eof_scan_error));
6054
1.88k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.97k
            }
6056
64.7M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
64.7M
                            make_eof_scan_error));
6058
6059
64.7M
            if (need_skipped_width) {
6060
3.53k
                return result_type{
6061
3.53k
                    it,
6062
3.53k
                    calculate_text_width(make_contiguous_buffer(
6063
3.53k
                                             ranges::subrange{rng.begin(), it})
6064
3.53k
                                             .view())};
6065
3.53k
            }
6066
32.3M
            return result_type{it, 0};
6067
64.7M
        }
6068
6069
30.2k
        return result_type{rng.begin(), 0};
6070
32.4M
    }
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
3.47M
    {
6037
3.47M
        const bool need_skipped_width =
6038
3.47M
            specs.width != 0 || specs.precision != 0;
6039
3.47M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.47M
        if (specs.align == detail::align_type::right ||
6043
3.47M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
3.47M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
3.47M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
6.89M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
6.89M
                            make_eof_scan_error));
6058
6059
6.89M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
3.42M
            return result_type{it, 0};
6067
6.89M
        }
6068
6069
2.39k
        return result_type{rng.begin(), 0};
6070
3.47M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
8.66M
    {
6037
8.66M
        const bool need_skipped_width =
6038
8.66M
            specs.width != 0 || specs.precision != 0;
6039
8.66M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
8.66M
        if (specs.align == detail::align_type::right ||
6043
8.66M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
8.66M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
8.65M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
17.3M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
17.3M
                            make_eof_scan_error));
6058
6059
17.3M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
8.65M
            return result_type{it, 0};
6067
17.3M
        }
6068
6069
3.15k
        return result_type{rng.begin(), 0};
6070
8.66M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
3.50M
    {
6037
3.50M
        const bool need_skipped_width =
6038
3.50M
            specs.width != 0 || specs.precision != 0;
6039
3.50M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.50M
        if (specs.align == detail::align_type::right ||
6043
3.50M
            specs.align == detail::align_type::center) {
6044
3.05k
            return skip_fill(rng, specs.precision, specs.fill,
6045
3.05k
                             need_skipped_width);
6046
3.05k
        }
6047
3.50M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
3.48M
            if (specs.precision != 0) {
6051
1.89k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.89k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.80k
                                  .transform_error(make_eof_scan_error));
6054
1.80k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.89k
            }
6056
6.92M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
6.92M
                            make_eof_scan_error));
6058
6059
6.92M
            if (need_skipped_width) {
6060
1.03k
                return result_type{
6061
1.03k
                    it,
6062
1.03k
                    calculate_text_width(make_contiguous_buffer(
6063
1.03k
                                             ranges::subrange{rng.begin(), it})
6064
1.03k
                                             .view())};
6065
1.03k
            }
6066
3.44M
            return result_type{it, 0};
6067
6.92M
        }
6068
6069
17.6k
        return result_type{rng.begin(), 0};
6070
3.50M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
16.8M
    {
6037
16.8M
        const bool need_skipped_width =
6038
16.8M
            specs.width != 0 || specs.precision != 0;
6039
16.8M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
16.8M
        if (specs.align == detail::align_type::right ||
6043
16.8M
            specs.align == detail::align_type::center) {
6044
178
            return skip_fill(rng, specs.precision, specs.fill,
6045
178
                             need_skipped_width);
6046
178
        }
6047
16.8M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
16.8M
            if (specs.precision != 0) {
6051
80
                auto max_width_view = take_width(rng, specs.precision);
6052
80
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
80
                                  .transform_error(make_eof_scan_error));
6054
80
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
80
            }
6056
33.6M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
33.6M
                            make_eof_scan_error));
6058
6059
33.6M
            if (need_skipped_width) {
6060
2.49k
                return result_type{
6061
2.49k
                    it,
6062
2.49k
                    calculate_text_width(make_contiguous_buffer(
6063
2.49k
                                             ranges::subrange{rng.begin(), it})
6064
2.49k
                                             .view())};
6065
2.49k
            }
6066
16.8M
            return result_type{it, 0};
6067
33.6M
        }
6068
6069
7.04k
        return result_type{rng.begin(), 0};
6070
16.8M
    }
6071
6072
    template <typename Range>
6073
    auto impl_postfix(Range rng,
6074
                      bool rd_skip_ws_before_read,
6075
                      std::ptrdiff_t prefix_width,
6076
                      std::ptrdiff_t value_width)
6077
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6078
30.9M
    {
6079
30.9M
        const bool need_skipped_width =
6080
30.9M
            specs.width != 0 || specs.precision != 0;
6081
30.9M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
30.9M
        if (specs.align == detail::align_type::left ||
6084
30.9M
            specs.align == detail::align_type::center) {
6085
624
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6086
624
                             specs.fill, need_skipped_width);
6087
624
        }
6088
30.9M
        if (specs.align == detail::align_type::none &&
6089
30.9M
            !rd_skip_ws_before_read &&
6090
30.9M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6091
6.60k
             (specs.precision != 0 &&
6092
6.11k
              prefix_width + value_width < specs.precision))) {
6093
820
            if (specs.precision != 0) {
6094
326
                const auto initial_width =
6095
326
                    specs.precision - prefix_width - value_width;
6096
326
                auto max_width_view = take_width(rng, initial_width);
6097
326
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6098
326
                                  .transform_error(make_eof_scan_error));
6099
326
                return result_type{w_it.base(), initial_width - w_it.count()};
6100
326
            }
6101
988
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6102
988
                            make_eof_scan_error));
6103
6104
988
            if (need_skipped_width) {
6105
494
                return result_type{
6106
494
                    it,
6107
494
                    calculate_text_width(make_contiguous_buffer(
6108
494
                                             ranges::subrange{rng.begin(), it})
6109
494
                                             .view())};
6110
494
            }
6111
0
            return result_type{it, 0};
6112
988
        }
6113
30.9M
        return result_type{rng.begin(), 0};
6114
30.9M
    }
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
3.20M
    {
6079
3.20M
        const bool need_skipped_width =
6080
3.20M
            specs.width != 0 || specs.precision != 0;
6081
3.20M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
3.20M
        if (specs.align == detail::align_type::left ||
6084
3.20M
            specs.align == detail::align_type::center) {
6085
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6086
0
                             specs.fill, need_skipped_width);
6087
0
        }
6088
3.20M
        if (specs.align == detail::align_type::none &&
6089
3.20M
            !rd_skip_ws_before_read &&
6090
3.20M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6091
816
             (specs.precision != 0 &&
6092
816
              prefix_width + value_width < specs.precision))) {
6093
0
            if (specs.precision != 0) {
6094
0
                const auto initial_width =
6095
0
                    specs.precision - prefix_width - value_width;
6096
0
                auto max_width_view = take_width(rng, initial_width);
6097
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6098
0
                                  .transform_error(make_eof_scan_error));
6099
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6100
0
            }
6101
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6102
0
                            make_eof_scan_error));
6103
6104
0
            if (need_skipped_width) {
6105
0
                return result_type{
6106
0
                    it,
6107
0
                    calculate_text_width(make_contiguous_buffer(
6108
0
                                             ranges::subrange{rng.begin(), it})
6109
0
                                             .view())};
6110
0
            }
6111
0
            return result_type{it, 0};
6112
0
        }
6113
3.20M
        return result_type{rng.begin(), 0};
6114
3.20M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
8.19M
    {
6079
8.19M
        const bool need_skipped_width =
6080
8.19M
            specs.width != 0 || specs.precision != 0;
6081
8.19M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
8.19M
        if (specs.align == detail::align_type::left ||
6084
8.19M
            specs.align == detail::align_type::center) {
6085
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6086
0
                             specs.fill, need_skipped_width);
6087
0
        }
6088
8.19M
        if (specs.align == detail::align_type::none &&
6089
8.19M
            !rd_skip_ws_before_read &&
6090
8.19M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6091
24
             (specs.precision != 0 &&
6092
24
              prefix_width + value_width < specs.precision))) {
6093
0
            if (specs.precision != 0) {
6094
0
                const auto initial_width =
6095
0
                    specs.precision - prefix_width - value_width;
6096
0
                auto max_width_view = take_width(rng, initial_width);
6097
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6098
0
                                  .transform_error(make_eof_scan_error));
6099
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6100
0
            }
6101
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6102
0
                            make_eof_scan_error));
6103
6104
0
            if (need_skipped_width) {
6105
0
                return result_type{
6106
0
                    it,
6107
0
                    calculate_text_width(make_contiguous_buffer(
6108
0
                                             ranges::subrange{rng.begin(), it})
6109
0
                                             .view())};
6110
0
            }
6111
0
            return result_type{it, 0};
6112
0
        }
6113
8.19M
        return result_type{rng.begin(), 0};
6114
8.19M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
3.22M
    {
6079
3.22M
        const bool need_skipped_width =
6080
3.22M
            specs.width != 0 || specs.precision != 0;
6081
3.22M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
3.22M
        if (specs.align == detail::align_type::left ||
6084
3.22M
            specs.align == detail::align_type::center) {
6085
566
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6086
566
                             specs.fill, need_skipped_width);
6087
566
        }
6088
3.22M
        if (specs.align == detail::align_type::none &&
6089
3.22M
            !rd_skip_ws_before_read &&
6090
3.22M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6091
5.32k
             (specs.precision != 0 &&
6092
5.12k
              prefix_width + value_width < specs.precision))) {
6093
514
            if (specs.precision != 0) {
6094
316
                const auto initial_width =
6095
316
                    specs.precision - prefix_width - value_width;
6096
316
                auto max_width_view = take_width(rng, initial_width);
6097
316
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6098
316
                                  .transform_error(make_eof_scan_error));
6099
316
                return result_type{w_it.base(), initial_width - w_it.count()};
6100
316
            }
6101
396
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6102
396
                            make_eof_scan_error));
6103
6104
396
            if (need_skipped_width) {
6105
198
                return result_type{
6106
198
                    it,
6107
198
                    calculate_text_width(make_contiguous_buffer(
6108
198
                                             ranges::subrange{rng.begin(), it})
6109
198
                                             .view())};
6110
198
            }
6111
0
            return result_type{it, 0};
6112
396
        }
6113
3.22M
        return result_type{rng.begin(), 0};
6114
3.22M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
16.3M
    {
6079
16.3M
        const bool need_skipped_width =
6080
16.3M
            specs.width != 0 || specs.precision != 0;
6081
16.3M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
16.3M
        if (specs.align == detail::align_type::left ||
6084
16.3M
            specs.align == detail::align_type::center) {
6085
58
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6086
58
                             specs.fill, need_skipped_width);
6087
58
        }
6088
16.3M
        if (specs.align == detail::align_type::none &&
6089
16.3M
            !rd_skip_ws_before_read &&
6090
16.3M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6091
446
             (specs.precision != 0 &&
6092
306
              prefix_width + value_width < specs.precision))) {
6093
306
            if (specs.precision != 0) {
6094
10
                const auto initial_width =
6095
10
                    specs.precision - prefix_width - value_width;
6096
10
                auto max_width_view = take_width(rng, initial_width);
6097
10
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6098
10
                                  .transform_error(make_eof_scan_error));
6099
10
                return result_type{w_it.base(), initial_width - w_it.count()};
6100
10
            }
6101
592
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6102
592
                            make_eof_scan_error));
6103
6104
592
            if (need_skipped_width) {
6105
296
                return result_type{
6106
296
                    it,
6107
296
                    calculate_text_width(make_contiguous_buffer(
6108
296
                                             ranges::subrange{rng.begin(), it})
6109
296
                                             .view())};
6110
296
            }
6111
0
            return result_type{it, 0};
6112
592
        }
6113
16.3M
        return result_type{rng.begin(), 0};
6114
16.3M
    }
6115
6116
    template <typename Reader, typename Range, typename T>
6117
    auto impl(Reader& rd, Range rng, T& value)
6118
        -> scan_expected<ranges::iterator_t<Range>>
6119
32.4M
    {
6120
32.4M
        const bool need_skipped_width =
6121
32.4M
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
32.4M
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
32.3M
        auto [it, prefix_width] = prefix_result;
6126
32.3M
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
32.3M
        std::ptrdiff_t value_width = 0;
6130
32.3M
        if (specs.precision != 0) {
6131
4.10k
            if (specs.precision <= prefix_width) {
6132
8
                return unexpected_scan_error(
6133
8
                    scan_error::invalid_scanned_value,
6134
8
                    "Too many spaces before value, precision exceeded before "
6135
8
                    "reading value");
6136
8
            }
6137
6138
4.09k
            const auto initial_width = specs.precision - prefix_width;
6139
4.09k
            auto max_width_view =
6140
4.09k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
4.09k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
1.26k
            it = w_it.base();
6143
1.26k
            value_width = initial_width - w_it.count();
6144
1.26k
        }
6145
32.3M
        else {
6146
32.3M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
31.0M
                                             specs, value, loc));
6148
6149
31.0M
            if (need_skipped_width) {
6150
1.90k
                value_width = calculate_text_width(
6151
1.90k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
1.90k
                        .view());
6153
1.90k
            }
6154
31.0M
        }
6155
6156
        // Read postfix
6157
31.0M
        std::ptrdiff_t postfix_width = 0;
6158
31.0M
        if (it != rng.end()) {
6159
30.9M
            SCN_TRY(postfix_result,
6160
30.9M
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
30.9M
                                 rd.skip_ws_before_read(), prefix_width,
6162
30.9M
                                 value_width));
6163
30.9M
            std::tie(it, postfix_width) = postfix_result;
6164
30.9M
        }
6165
6166
31.0M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
31.0M
                                                 value_width, postfix_width);
6168
31.0M
            !e) {
6169
810
            return unexpected(e);
6170
810
        }
6171
6172
31.0M
        return it;
6173
31.0M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
248k
    {
6120
248k
        const bool need_skipped_width =
6121
248k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
248k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
245k
        auto [it, prefix_width] = prefix_result;
6126
245k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
245k
        std::ptrdiff_t value_width = 0;
6130
245k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
245k
        else {
6146
245k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
224k
                                             specs, value, loc));
6148
6149
224k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
224k
        }
6155
6156
        // Read postfix
6157
224k
        std::ptrdiff_t postfix_width = 0;
6158
224k
        if (it != rng.end()) {
6159
222k
            SCN_TRY(postfix_result,
6160
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
222k
                                 rd.skip_ws_before_read(), prefix_width,
6162
222k
                                 value_width));
6163
222k
            std::tie(it, postfix_width) = postfix_result;
6164
222k
        }
6165
6166
224k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
224k
                                                 value_width, postfix_width);
6168
224k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
224k
        return it;
6173
224k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
322k
    {
6120
322k
        const bool need_skipped_width =
6121
322k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
322k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
318k
        auto [it, prefix_width] = prefix_result;
6126
318k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
318k
        std::ptrdiff_t value_width = 0;
6130
318k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
318k
        else {
6146
318k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
299k
                                             specs, value, loc));
6148
6149
299k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
299k
        }
6155
6156
        // Read postfix
6157
299k
        std::ptrdiff_t postfix_width = 0;
6158
299k
        if (it != rng.end()) {
6159
296k
            SCN_TRY(postfix_result,
6160
296k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
296k
                                 rd.skip_ws_before_read(), prefix_width,
6162
296k
                                 value_width));
6163
296k
            std::tie(it, postfix_width) = postfix_result;
6164
296k
        }
6165
6166
299k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
299k
                                                 value_width, postfix_width);
6168
299k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
299k
        return it;
6173
299k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
328k
    {
6120
328k
        const bool need_skipped_width =
6121
328k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
328k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
324k
        auto [it, prefix_width] = prefix_result;
6126
324k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
324k
        std::ptrdiff_t value_width = 0;
6130
324k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
324k
        else {
6146
324k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
305k
                                             specs, value, loc));
6148
6149
305k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
305k
        }
6155
6156
        // Read postfix
6157
305k
        std::ptrdiff_t postfix_width = 0;
6158
305k
        if (it != rng.end()) {
6159
302k
            SCN_TRY(postfix_result,
6160
302k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
302k
                                 rd.skip_ws_before_read(), prefix_width,
6162
302k
                                 value_width));
6163
302k
            std::tie(it, postfix_width) = postfix_result;
6164
302k
        }
6165
6166
305k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
305k
                                                 value_width, postfix_width);
6168
305k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
305k
        return it;
6173
305k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
243k
    {
6120
243k
        const bool need_skipped_width =
6121
243k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
243k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
241k
        auto [it, prefix_width] = prefix_result;
6126
241k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
241k
        std::ptrdiff_t value_width = 0;
6130
241k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
241k
        else {
6146
241k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
220k
                                             specs, value, loc));
6148
6149
220k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
220k
        }
6155
6156
        // Read postfix
6157
220k
        std::ptrdiff_t postfix_width = 0;
6158
220k
        if (it != rng.end()) {
6159
218k
            SCN_TRY(postfix_result,
6160
218k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
218k
                                 rd.skip_ws_before_read(), prefix_width,
6162
218k
                                 value_width));
6163
218k
            std::tie(it, postfix_width) = postfix_result;
6164
218k
        }
6165
6166
220k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
220k
                                                 value_width, postfix_width);
6168
220k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
220k
        return it;
6173
220k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
277k
    {
6120
277k
        const bool need_skipped_width =
6121
277k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
277k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
274k
        auto [it, prefix_width] = prefix_result;
6126
274k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
274k
        std::ptrdiff_t value_width = 0;
6130
274k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
274k
        else {
6146
274k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
254k
                                             specs, value, loc));
6148
6149
254k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
254k
        }
6155
6156
        // Read postfix
6157
254k
        std::ptrdiff_t postfix_width = 0;
6158
254k
        if (it != rng.end()) {
6159
252k
            SCN_TRY(postfix_result,
6160
252k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
252k
                                 rd.skip_ws_before_read(), prefix_width,
6162
252k
                                 value_width));
6163
252k
            std::tie(it, postfix_width) = postfix_result;
6164
252k
        }
6165
6166
254k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
254k
                                                 value_width, postfix_width);
6168
254k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
254k
        return it;
6173
254k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
280k
    {
6120
280k
        const bool need_skipped_width =
6121
280k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
280k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
277k
        auto [it, prefix_width] = prefix_result;
6126
277k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
277k
        std::ptrdiff_t value_width = 0;
6130
277k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
277k
        else {
6146
277k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
257k
                                             specs, value, loc));
6148
6149
257k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
257k
        }
6155
6156
        // Read postfix
6157
257k
        std::ptrdiff_t postfix_width = 0;
6158
257k
        if (it != rng.end()) {
6159
254k
            SCN_TRY(postfix_result,
6160
254k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
254k
                                 rd.skip_ws_before_read(), prefix_width,
6162
254k
                                 value_width));
6163
254k
            std::tie(it, postfix_width) = postfix_result;
6164
254k
        }
6165
6166
257k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
257k
                                                 value_width, postfix_width);
6168
257k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
257k
        return it;
6173
257k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
540k
    {
6120
540k
        const bool need_skipped_width =
6121
540k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
540k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
534k
        auto [it, prefix_width] = prefix_result;
6126
534k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
534k
        std::ptrdiff_t value_width = 0;
6130
534k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
534k
        else {
6146
534k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
510k
                                             specs, value, loc));
6148
6149
510k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
510k
        }
6155
6156
        // Read postfix
6157
510k
        std::ptrdiff_t postfix_width = 0;
6158
510k
        if (it != rng.end()) {
6159
505k
            SCN_TRY(postfix_result,
6160
505k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
505k
                                 rd.skip_ws_before_read(), prefix_width,
6162
505k
                                 value_width));
6163
505k
            std::tie(it, postfix_width) = postfix_result;
6164
505k
        }
6165
6166
510k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
510k
                                                 value_width, postfix_width);
6168
510k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
510k
        return it;
6173
510k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
579k
    {
6120
579k
        const bool need_skipped_width =
6121
579k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
579k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
571k
        auto [it, prefix_width] = prefix_result;
6126
571k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
571k
        std::ptrdiff_t value_width = 0;
6130
571k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
571k
        else {
6146
571k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
548k
                                             specs, value, loc));
6148
6149
548k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
548k
        }
6155
6156
        // Read postfix
6157
548k
        std::ptrdiff_t postfix_width = 0;
6158
548k
        if (it != rng.end()) {
6159
543k
            SCN_TRY(postfix_result,
6160
543k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
543k
                                 rd.skip_ws_before_read(), prefix_width,
6162
543k
                                 value_width));
6163
543k
            std::tie(it, postfix_width) = postfix_result;
6164
543k
        }
6165
6166
548k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
548k
                                                 value_width, postfix_width);
6168
548k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
548k
        return it;
6173
548k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
585k
    {
6120
585k
        const bool need_skipped_width =
6121
585k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
585k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
578k
        auto [it, prefix_width] = prefix_result;
6126
578k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
578k
        std::ptrdiff_t value_width = 0;
6130
578k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
578k
        else {
6146
578k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
555k
                                             specs, value, loc));
6148
6149
555k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
555k
        }
6155
6156
        // Read postfix
6157
555k
        std::ptrdiff_t postfix_width = 0;
6158
555k
        if (it != rng.end()) {
6159
549k
            SCN_TRY(postfix_result,
6160
549k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
549k
                                 rd.skip_ws_before_read(), prefix_width,
6162
549k
                                 value_width));
6163
549k
            std::tie(it, postfix_width) = postfix_result;
6164
549k
        }
6165
6166
555k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
555k
                                                 value_width, postfix_width);
6168
555k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
555k
        return it;
6173
555k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6119
65.5k
    {
6120
65.5k
        const bool need_skipped_width =
6121
65.5k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
65.5k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
64.4k
        auto [it, prefix_width] = prefix_result;
6126
64.4k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
64.4k
        std::ptrdiff_t value_width = 0;
6130
64.4k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
64.4k
        else {
6146
64.4k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
62.4k
                                             specs, value, loc));
6148
6149
62.4k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
62.4k
        }
6155
6156
        // Read postfix
6157
62.4k
        std::ptrdiff_t postfix_width = 0;
6158
62.4k
        if (it != rng.end()) {
6159
62.0k
            SCN_TRY(postfix_result,
6160
62.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
62.0k
                                 rd.skip_ws_before_read(), prefix_width,
6162
62.0k
                                 value_width));
6163
62.0k
            std::tie(it, postfix_width) = postfix_result;
6164
62.0k
        }
6165
6166
62.4k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
62.4k
                                                 value_width, postfix_width);
6168
62.4k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
62.4k
        return it;
6173
62.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.1k
    {
6120
47.1k
        const bool need_skipped_width =
6121
47.1k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.1k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.8k
        auto [it, prefix_width] = prefix_result;
6126
46.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.8k
        std::ptrdiff_t value_width = 0;
6130
46.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.8k
        else {
6146
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
460
                                             specs, value, loc));
6148
6149
460
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
460
        }
6155
6156
        // Read postfix
6157
460
        std::ptrdiff_t postfix_width = 0;
6158
460
        if (it != rng.end()) {
6159
292
            SCN_TRY(postfix_result,
6160
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
292
                                 rd.skip_ws_before_read(), prefix_width,
6162
292
                                 value_width));
6163
292
            std::tie(it, postfix_width) = postfix_result;
6164
292
        }
6165
6166
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
460
                                                 value_width, postfix_width);
6168
460
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
460
        return it;
6173
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.2k
    {
6120
47.2k
        const bool need_skipped_width =
6121
47.2k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.2k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.9k
        auto [it, prefix_width] = prefix_result;
6126
46.9k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.9k
        std::ptrdiff_t value_width = 0;
6130
46.9k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.9k
        else {
6146
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
546
                                             specs, value, loc));
6148
6149
546
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
546
        }
6155
6156
        // Read postfix
6157
546
        std::ptrdiff_t postfix_width = 0;
6158
546
        if (it != rng.end()) {
6159
366
            SCN_TRY(postfix_result,
6160
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
366
                                 rd.skip_ws_before_read(), prefix_width,
6162
366
                                 value_width));
6163
366
            std::tie(it, postfix_width) = postfix_result;
6164
366
        }
6165
6166
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
546
                                                 value_width, postfix_width);
6168
546
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
546
        return it;
6173
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.3k
    {
6120
47.3k
        const bool need_skipped_width =
6121
47.3k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.3k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
47.0k
        auto [it, prefix_width] = prefix_result;
6126
47.0k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
47.0k
        std::ptrdiff_t value_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
47.0k
        else {
6146
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
654
                                             specs, value, loc));
6148
6149
654
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
654
        }
6155
6156
        // Read postfix
6157
654
        std::ptrdiff_t postfix_width = 0;
6158
654
        if (it != rng.end()) {
6159
474
            SCN_TRY(postfix_result,
6160
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
474
                                 rd.skip_ws_before_read(), prefix_width,
6162
474
                                 value_width));
6163
474
            std::tie(it, postfix_width) = postfix_result;
6164
474
        }
6165
6166
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
654
                                                 value_width, postfix_width);
6168
654
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
654
        return it;
6173
654
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.0k
    {
6120
47.0k
        const bool need_skipped_width =
6121
47.0k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.0k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.8k
        auto [it, prefix_width] = prefix_result;
6126
46.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.8k
        std::ptrdiff_t value_width = 0;
6130
46.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.8k
        else {
6146
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
392
                                             specs, value, loc));
6148
6149
392
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
392
        }
6155
6156
        // Read postfix
6157
392
        std::ptrdiff_t postfix_width = 0;
6158
392
        if (it != rng.end()) {
6159
264
            SCN_TRY(postfix_result,
6160
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
264
                                 rd.skip_ws_before_read(), prefix_width,
6162
264
                                 value_width));
6163
264
            std::tie(it, postfix_width) = postfix_result;
6164
264
        }
6165
6166
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
392
                                                 value_width, postfix_width);
6168
392
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
392
        return it;
6173
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.1k
    {
6120
47.1k
        const bool need_skipped_width =
6121
47.1k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.1k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.8k
        auto [it, prefix_width] = prefix_result;
6126
46.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.8k
        std::ptrdiff_t value_width = 0;
6130
46.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.8k
        else {
6146
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
438
                                             specs, value, loc));
6148
6149
438
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
438
        }
6155
6156
        // Read postfix
6157
438
        std::ptrdiff_t postfix_width = 0;
6158
438
        if (it != rng.end()) {
6159
310
            SCN_TRY(postfix_result,
6160
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
310
                                 rd.skip_ws_before_read(), prefix_width,
6162
310
                                 value_width));
6163
310
            std::tie(it, postfix_width) = postfix_result;
6164
310
        }
6165
6166
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
438
                                                 value_width, postfix_width);
6168
438
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
438
        return it;
6173
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
47.2k
    {
6120
47.2k
        const bool need_skipped_width =
6121
47.2k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.2k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.9k
        auto [it, prefix_width] = prefix_result;
6126
46.9k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.9k
        std::ptrdiff_t value_width = 0;
6130
46.9k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.9k
        else {
6146
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
532
                                             specs, value, loc));
6148
6149
532
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
532
        }
6155
6156
        // Read postfix
6157
532
        std::ptrdiff_t postfix_width = 0;
6158
532
        if (it != rng.end()) {
6159
404
            SCN_TRY(postfix_result,
6160
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
404
                                 rd.skip_ws_before_read(), prefix_width,
6162
404
                                 value_width));
6163
404
            std::tie(it, postfix_width) = postfix_result;
6164
404
        }
6165
6166
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
532
                                                 value_width, postfix_width);
6168
532
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
532
        return it;
6173
532
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
72.3k
    {
6120
72.3k
        const bool need_skipped_width =
6121
72.3k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.3k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
71.8k
        auto [it, prefix_width] = prefix_result;
6126
71.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
71.8k
        std::ptrdiff_t value_width = 0;
6130
71.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
71.8k
        else {
6146
71.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
11.9k
                                             specs, value, loc));
6148
6149
11.9k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
11.9k
        }
6155
6156
        // Read postfix
6157
11.9k
        std::ptrdiff_t postfix_width = 0;
6158
11.9k
        if (it != rng.end()) {
6159
11.8k
            SCN_TRY(postfix_result,
6160
11.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
11.8k
                                 rd.skip_ws_before_read(), prefix_width,
6162
11.8k
                                 value_width));
6163
11.8k
            std::tie(it, postfix_width) = postfix_result;
6164
11.8k
        }
6165
6166
11.9k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
11.9k
                                                 value_width, postfix_width);
6168
11.9k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
11.9k
        return it;
6173
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
72.4k
    {
6120
72.4k
        const bool need_skipped_width =
6121
72.4k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.4k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
71.8k
        auto [it, prefix_width] = prefix_result;
6126
71.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
71.8k
        std::ptrdiff_t value_width = 0;
6130
71.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
71.8k
        else {
6146
71.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
12.0k
                                             specs, value, loc));
6148
6149
12.0k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
12.0k
        }
6155
6156
        // Read postfix
6157
12.0k
        std::ptrdiff_t postfix_width = 0;
6158
12.0k
        if (it != rng.end()) {
6159
11.9k
            SCN_TRY(postfix_result,
6160
11.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
11.9k
                                 rd.skip_ws_before_read(), prefix_width,
6162
11.9k
                                 value_width));
6163
11.9k
            std::tie(it, postfix_width) = postfix_result;
6164
11.9k
        }
6165
6166
12.0k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
12.0k
                                                 value_width, postfix_width);
6168
12.0k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
12.0k
        return it;
6173
12.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6119
72.5k
    {
6120
72.5k
        const bool need_skipped_width =
6121
72.5k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.5k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
71.9k
        auto [it, prefix_width] = prefix_result;
6126
71.9k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
71.9k
        std::ptrdiff_t value_width = 0;
6130
71.9k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
71.9k
        else {
6146
71.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
12.1k
                                             specs, value, loc));
6148
6149
12.1k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
12.1k
        }
6155
6156
        // Read postfix
6157
12.1k
        std::ptrdiff_t postfix_width = 0;
6158
12.1k
        if (it != rng.end()) {
6159
12.0k
            SCN_TRY(postfix_result,
6160
12.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
12.0k
                                 rd.skip_ws_before_read(), prefix_width,
6162
12.0k
                                 value_width));
6163
12.0k
            std::tie(it, postfix_width) = postfix_result;
6164
12.0k
        }
6165
6166
12.1k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
12.1k
                                                 value_width, postfix_width);
6168
12.1k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
12.1k
        return it;
6173
12.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6119
8.16M
    {
6120
8.16M
        const bool need_skipped_width =
6121
8.16M
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
8.16M
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
8.15M
        auto [it, prefix_width] = prefix_result;
6126
8.15M
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
8.15M
        std::ptrdiff_t value_width = 0;
6130
8.15M
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
8.15M
        else {
6146
8.15M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
8.15M
                                             specs, value, loc));
6148
6149
8.15M
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
8.15M
        }
6155
6156
        // Read postfix
6157
8.15M
        std::ptrdiff_t postfix_width = 0;
6158
8.15M
        if (it != rng.end()) {
6159
8.15M
            SCN_TRY(postfix_result,
6160
8.15M
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
8.15M
                                 rd.skip_ws_before_read(), prefix_width,
6162
8.15M
                                 value_width));
6163
8.15M
            std::tie(it, postfix_width) = postfix_result;
6164
8.15M
        }
6165
6166
8.15M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
8.15M
                                                 value_width, postfix_width);
6168
8.15M
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
8.15M
        return it;
6173
8.15M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
247k
    {
6120
247k
        const bool need_skipped_width =
6121
247k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
247k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
244k
        auto [it, prefix_width] = prefix_result;
6126
244k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
244k
        std::ptrdiff_t value_width = 0;
6130
244k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
244k
        else {
6146
244k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
223k
                                             specs, value, loc));
6148
6149
223k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
223k
        }
6155
6156
        // Read postfix
6157
223k
        std::ptrdiff_t postfix_width = 0;
6158
223k
        if (it != rng.end()) {
6159
222k
            SCN_TRY(postfix_result,
6160
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
222k
                                 rd.skip_ws_before_read(), prefix_width,
6162
222k
                                 value_width));
6163
222k
            std::tie(it, postfix_width) = postfix_result;
6164
222k
        }
6165
6166
223k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
223k
                                                 value_width, postfix_width);
6168
223k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
223k
        return it;
6173
223k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
321k
    {
6120
321k
        const bool need_skipped_width =
6121
321k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
321k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
317k
        auto [it, prefix_width] = prefix_result;
6126
317k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
317k
        std::ptrdiff_t value_width = 0;
6130
317k
        if (specs.precision != 0) {
6131
276
            if (specs.precision <= prefix_width) {
6132
2
                return unexpected_scan_error(
6133
2
                    scan_error::invalid_scanned_value,
6134
2
                    "Too many spaces before value, precision exceeded before "
6135
2
                    "reading value");
6136
2
            }
6137
6138
274
            const auto initial_width = specs.precision - prefix_width;
6139
274
            auto max_width_view =
6140
274
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
274
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
317k
        else {
6146
317k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
297k
                                             specs, value, loc));
6148
6149
297k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
297k
        }
6155
6156
        // Read postfix
6157
297k
        std::ptrdiff_t postfix_width = 0;
6158
297k
        if (it != rng.end()) {
6159
294k
            SCN_TRY(postfix_result,
6160
294k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
294k
                                 rd.skip_ws_before_read(), prefix_width,
6162
294k
                                 value_width));
6163
294k
            std::tie(it, postfix_width) = postfix_result;
6164
294k
        }
6165
6166
297k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
297k
                                                 value_width, postfix_width);
6168
297k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
297k
        return it;
6173
297k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
326k
    {
6120
326k
        const bool need_skipped_width =
6121
326k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
326k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
322k
        auto [it, prefix_width] = prefix_result;
6126
322k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
322k
        std::ptrdiff_t value_width = 0;
6130
322k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
322k
        else {
6146
322k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
303k
                                             specs, value, loc));
6148
6149
303k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
303k
        }
6155
6156
        // Read postfix
6157
303k
        std::ptrdiff_t postfix_width = 0;
6158
303k
        if (it != rng.end()) {
6159
300k
            SCN_TRY(postfix_result,
6160
300k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
300k
                                 rd.skip_ws_before_read(), prefix_width,
6162
300k
                                 value_width));
6163
300k
            std::tie(it, postfix_width) = postfix_result;
6164
300k
        }
6165
6166
303k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
303k
                                                 value_width, postfix_width);
6168
303k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
303k
        return it;
6173
303k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
242k
    {
6120
242k
        const bool need_skipped_width =
6121
242k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
242k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
240k
        auto [it, prefix_width] = prefix_result;
6126
240k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
240k
        std::ptrdiff_t value_width = 0;
6130
240k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
240k
        else {
6146
240k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
219k
                                             specs, value, loc));
6148
6149
219k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
219k
        }
6155
6156
        // Read postfix
6157
219k
        std::ptrdiff_t postfix_width = 0;
6158
219k
        if (it != rng.end()) {
6159
217k
            SCN_TRY(postfix_result,
6160
217k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
217k
                                 rd.skip_ws_before_read(), prefix_width,
6162
217k
                                 value_width));
6163
217k
            std::tie(it, postfix_width) = postfix_result;
6164
217k
        }
6165
6166
219k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
219k
                                                 value_width, postfix_width);
6168
219k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
219k
        return it;
6173
219k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
276k
    {
6120
276k
        const bool need_skipped_width =
6121
276k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
276k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
273k
        auto [it, prefix_width] = prefix_result;
6126
273k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
273k
        std::ptrdiff_t value_width = 0;
6130
273k
        if (specs.precision != 0) {
6131
276
            if (specs.precision <= prefix_width) {
6132
2
                return unexpected_scan_error(
6133
2
                    scan_error::invalid_scanned_value,
6134
2
                    "Too many spaces before value, precision exceeded before "
6135
2
                    "reading value");
6136
2
            }
6137
6138
274
            const auto initial_width = specs.precision - prefix_width;
6139
274
            auto max_width_view =
6140
274
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
274
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
273k
        else {
6146
273k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
252k
                                             specs, value, loc));
6148
6149
252k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
252k
        }
6155
6156
        // Read postfix
6157
252k
        std::ptrdiff_t postfix_width = 0;
6158
252k
        if (it != rng.end()) {
6159
250k
            SCN_TRY(postfix_result,
6160
250k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
250k
                                 rd.skip_ws_before_read(), prefix_width,
6162
250k
                                 value_width));
6163
250k
            std::tie(it, postfix_width) = postfix_result;
6164
250k
        }
6165
6166
252k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
252k
                                                 value_width, postfix_width);
6168
252k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
252k
        return it;
6173
252k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
278k
    {
6120
278k
        const bool need_skipped_width =
6121
278k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
278k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
276k
        auto [it, prefix_width] = prefix_result;
6126
276k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
276k
        std::ptrdiff_t value_width = 0;
6130
276k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
276k
        else {
6146
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
255k
                                             specs, value, loc));
6148
6149
255k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
255k
        }
6155
6156
        // Read postfix
6157
255k
        std::ptrdiff_t postfix_width = 0;
6158
255k
        if (it != rng.end()) {
6159
253k
            SCN_TRY(postfix_result,
6160
253k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
253k
                                 rd.skip_ws_before_read(), prefix_width,
6162
253k
                                 value_width));
6163
253k
            std::tie(it, postfix_width) = postfix_result;
6164
253k
        }
6165
6166
255k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
255k
                                                 value_width, postfix_width);
6168
255k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
255k
        return it;
6173
255k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6119
470
    {
6120
470
        const bool need_skipped_width =
6121
470
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
470
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
466
        auto [it, prefix_width] = prefix_result;
6126
466
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
466
        std::ptrdiff_t value_width = 0;
6130
466
        if (specs.precision != 0) {
6131
248
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
248
            const auto initial_width = specs.precision - prefix_width;
6139
248
            auto max_width_view =
6140
248
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
248
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
218
        else {
6146
218
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
0
                                             specs, value, loc));
6148
6149
0
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
0
        }
6155
6156
        // Read postfix
6157
0
        std::ptrdiff_t postfix_width = 0;
6158
0
        if (it != rng.end()) {
6159
0
            SCN_TRY(postfix_result,
6160
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
0
                                 rd.skip_ws_before_read(), prefix_width,
6162
0
                                 value_width));
6163
0
            std::tie(it, postfix_width) = postfix_result;
6164
0
        }
6165
6166
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
0
                                                 value_width, postfix_width);
6168
0
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
0
        return it;
6173
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
784
    {
6120
784
        const bool need_skipped_width =
6121
784
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
784
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
764
        auto [it, prefix_width] = prefix_result;
6126
764
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
764
        std::ptrdiff_t value_width = 0;
6130
764
        if (specs.precision != 0) {
6131
384
            if (specs.precision <= prefix_width) {
6132
2
                return unexpected_scan_error(
6133
2
                    scan_error::invalid_scanned_value,
6134
2
                    "Too many spaces before value, precision exceeded before "
6135
2
                    "reading value");
6136
2
            }
6137
6138
382
            const auto initial_width = specs.precision - prefix_width;
6139
382
            auto max_width_view =
6140
382
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
382
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
380
        else {
6146
380
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
0
                                             specs, value, loc));
6148
6149
0
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
0
        }
6155
6156
        // Read postfix
6157
0
        std::ptrdiff_t postfix_width = 0;
6158
0
        if (it != rng.end()) {
6159
0
            SCN_TRY(postfix_result,
6160
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
0
                                 rd.skip_ws_before_read(), prefix_width,
6162
0
                                 value_width));
6163
0
            std::tie(it, postfix_width) = postfix_result;
6164
0
        }
6165
6166
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
0
                                                 value_width, postfix_width);
6168
0
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
0
        return it;
6173
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
516
    {
6120
516
        const bool need_skipped_width =
6121
516
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
516
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
516
        auto [it, prefix_width] = prefix_result;
6126
516
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
516
        std::ptrdiff_t value_width = 0;
6130
516
        if (specs.precision != 0) {
6131
282
            if (specs.precision <= prefix_width) {
6132
2
                return unexpected_scan_error(
6133
2
                    scan_error::invalid_scanned_value,
6134
2
                    "Too many spaces before value, precision exceeded before "
6135
2
                    "reading value");
6136
2
            }
6137
6138
280
            const auto initial_width = specs.precision - prefix_width;
6139
280
            auto max_width_view =
6140
280
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
280
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
248
            it = w_it.base();
6143
248
            value_width = initial_width - w_it.count();
6144
248
        }
6145
234
        else {
6146
234
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
214
                                             specs, value, loc));
6148
6149
214
            if (need_skipped_width) {
6150
160
                value_width = calculate_text_width(
6151
160
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
160
                        .view());
6153
160
            }
6154
214
        }
6155
6156
        // Read postfix
6157
462
        std::ptrdiff_t postfix_width = 0;
6158
462
        if (it != rng.end()) {
6159
462
            SCN_TRY(postfix_result,
6160
462
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
462
                                 rd.skip_ws_before_read(), prefix_width,
6162
462
                                 value_width));
6163
462
            std::tie(it, postfix_width) = postfix_result;
6164
462
        }
6165
6166
462
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
462
                                                 value_width, postfix_width);
6168
462
            !e) {
6169
148
            return unexpected(e);
6170
148
        }
6171
6172
314
        return it;
6173
462
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
527k
    {
6120
527k
        const bool need_skipped_width =
6121
527k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
527k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
521k
        auto [it, prefix_width] = prefix_result;
6126
521k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
521k
        std::ptrdiff_t value_width = 0;
6130
521k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
521k
        else {
6146
521k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
497k
                                             specs, value, loc));
6148
6149
497k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
497k
        }
6155
6156
        // Read postfix
6157
497k
        std::ptrdiff_t postfix_width = 0;
6158
497k
        if (it != rng.end()) {
6159
492k
            SCN_TRY(postfix_result,
6160
492k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
492k
                                 rd.skip_ws_before_read(), prefix_width,
6162
492k
                                 value_width));
6163
492k
            std::tie(it, postfix_width) = postfix_result;
6164
492k
        }
6165
6166
497k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
497k
                                                 value_width, postfix_width);
6168
497k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
497k
        return it;
6173
497k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
565k
    {
6120
565k
        const bool need_skipped_width =
6121
565k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
565k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
559k
        auto [it, prefix_width] = prefix_result;
6126
559k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
559k
        std::ptrdiff_t value_width = 0;
6130
559k
        if (specs.precision != 0) {
6131
266
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
266
            const auto initial_width = specs.precision - prefix_width;
6139
266
            auto max_width_view =
6140
266
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
266
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
558k
        else {
6146
558k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
534k
                                             specs, value, loc));
6148
6149
534k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
534k
        }
6155
6156
        // Read postfix
6157
534k
        std::ptrdiff_t postfix_width = 0;
6158
534k
        if (it != rng.end()) {
6159
529k
            SCN_TRY(postfix_result,
6160
529k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
529k
                                 rd.skip_ws_before_read(), prefix_width,
6162
529k
                                 value_width));
6163
529k
            std::tie(it, postfix_width) = postfix_result;
6164
529k
        }
6165
6166
534k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
534k
                                                 value_width, postfix_width);
6168
534k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
534k
        return it;
6173
534k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
571k
    {
6120
571k
        const bool need_skipped_width =
6121
571k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
571k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
564k
        auto [it, prefix_width] = prefix_result;
6126
564k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
564k
        std::ptrdiff_t value_width = 0;
6130
564k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
564k
        else {
6146
564k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
541k
                                             specs, value, loc));
6148
6149
541k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
541k
        }
6155
6156
        // Read postfix
6157
541k
        std::ptrdiff_t postfix_width = 0;
6158
541k
        if (it != rng.end()) {
6159
535k
            SCN_TRY(postfix_result,
6160
535k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
535k
                                 rd.skip_ws_before_read(), prefix_width,
6162
535k
                                 value_width));
6163
535k
            std::tie(it, postfix_width) = postfix_result;
6164
535k
        }
6165
6166
541k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
541k
                                                 value_width, postfix_width);
6168
541k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
541k
        return it;
6173
541k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6119
70.2k
    {
6120
70.2k
        const bool need_skipped_width =
6121
70.2k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
70.2k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
69.2k
        auto [it, prefix_width] = prefix_result;
6126
69.2k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
69.2k
        std::ptrdiff_t value_width = 0;
6130
69.2k
        if (specs.precision != 0) {
6131
760
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
760
            const auto initial_width = specs.precision - prefix_width;
6139
760
            auto max_width_view =
6140
760
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
760
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
326
            it = w_it.base();
6143
326
            value_width = initial_width - w_it.count();
6144
326
        }
6145
68.5k
        else {
6146
68.5k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
63.2k
                                             specs, value, loc));
6148
6149
63.2k
            if (need_skipped_width) {
6150
208
                value_width = calculate_text_width(
6151
208
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
208
                        .view());
6153
208
            }
6154
63.2k
        }
6155
6156
        // Read postfix
6157
63.5k
        std::ptrdiff_t postfix_width = 0;
6158
63.5k
        if (it != rng.end()) {
6159
62.8k
            SCN_TRY(postfix_result,
6160
62.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
62.8k
                                 rd.skip_ws_before_read(), prefix_width,
6162
62.8k
                                 value_width));
6163
62.8k
            std::tie(it, postfix_width) = postfix_result;
6164
62.8k
        }
6165
6166
63.5k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
63.5k
                                                 value_width, postfix_width);
6168
63.5k
            !e) {
6169
102
            return unexpected(e);
6170
102
        }
6171
6172
63.4k
        return it;
6173
63.5k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6119
70.2k
    {
6120
70.2k
        const bool need_skipped_width =
6121
70.2k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
70.2k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
69.2k
        auto [it, prefix_width] = prefix_result;
6126
69.2k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
69.2k
        std::ptrdiff_t value_width = 0;
6130
69.2k
        if (specs.precision != 0) {
6131
760
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
760
            const auto initial_width = specs.precision - prefix_width;
6139
760
            auto max_width_view =
6140
760
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
760
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
326
            it = w_it.base();
6143
326
            value_width = initial_width - w_it.count();
6144
326
        }
6145
68.5k
        else {
6146
68.5k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
63.2k
                                             specs, value, loc));
6148
6149
63.2k
            if (need_skipped_width) {
6150
208
                value_width = calculate_text_width(
6151
208
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
208
                        .view());
6153
208
            }
6154
63.2k
        }
6155
6156
        // Read postfix
6157
63.5k
        std::ptrdiff_t postfix_width = 0;
6158
63.5k
        if (it != rng.end()) {
6159
62.8k
            SCN_TRY(postfix_result,
6160
62.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
62.8k
                                 rd.skip_ws_before_read(), prefix_width,
6162
62.8k
                                 value_width));
6163
62.8k
            std::tie(it, postfix_width) = postfix_result;
6164
62.8k
        }
6165
6166
63.5k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
63.5k
                                                 value_width, postfix_width);
6168
63.5k
            !e) {
6169
102
            return unexpected(e);
6170
102
        }
6171
6172
63.4k
        return it;
6173
63.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6119
5.37k
    {
6120
5.37k
        const bool need_skipped_width =
6121
5.37k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
5.37k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
5.36k
        auto [it, prefix_width] = prefix_result;
6126
5.36k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
5.36k
        std::ptrdiff_t value_width = 0;
6130
5.36k
        if (specs.precision != 0) {
6131
760
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
760
            const auto initial_width = specs.precision - prefix_width;
6139
760
            auto max_width_view =
6140
760
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
760
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
326
            it = w_it.base();
6143
326
            value_width = initial_width - w_it.count();
6144
326
        }
6145
4.60k
        else {
6146
4.60k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
1.47k
                                             specs, value, loc));
6148
6149
1.47k
            if (need_skipped_width) {
6150
208
                value_width = calculate_text_width(
6151
208
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
208
                        .view());
6153
208
            }
6154
1.47k
        }
6155
6156
        // Read postfix
6157
1.80k
        std::ptrdiff_t postfix_width = 0;
6158
1.80k
        if (it != rng.end()) {
6159
1.44k
            SCN_TRY(postfix_result,
6160
1.44k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
1.44k
                                 rd.skip_ws_before_read(), prefix_width,
6162
1.44k
                                 value_width));
6163
1.44k
            std::tie(it, postfix_width) = postfix_result;
6164
1.44k
        }
6165
6166
1.80k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
1.80k
                                                 value_width, postfix_width);
6168
1.80k
            !e) {
6169
102
            return unexpected(e);
6170
102
        }
6171
6172
1.70k
        return it;
6173
1.80k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.1k
    {
6120
47.1k
        const bool need_skipped_width =
6121
47.1k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.1k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.8k
        auto [it, prefix_width] = prefix_result;
6126
46.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.8k
        std::ptrdiff_t value_width = 0;
6130
46.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.8k
        else {
6146
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
460
                                             specs, value, loc));
6148
6149
460
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
460
        }
6155
6156
        // Read postfix
6157
460
        std::ptrdiff_t postfix_width = 0;
6158
460
        if (it != rng.end()) {
6159
292
            SCN_TRY(postfix_result,
6160
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
292
                                 rd.skip_ws_before_read(), prefix_width,
6162
292
                                 value_width));
6163
292
            std::tie(it, postfix_width) = postfix_result;
6164
292
        }
6165
6166
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
460
                                                 value_width, postfix_width);
6168
460
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
460
        return it;
6173
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.7k
    {
6120
47.7k
        const bool need_skipped_width =
6121
47.7k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.7k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
47.3k
        auto [it, prefix_width] = prefix_result;
6126
47.3k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
47.3k
        std::ptrdiff_t value_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
47.3k
        else {
6146
47.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
546
                                             specs, value, loc));
6148
6149
546
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
546
        }
6155
6156
        // Read postfix
6157
546
        std::ptrdiff_t postfix_width = 0;
6158
546
        if (it != rng.end()) {
6159
366
            SCN_TRY(postfix_result,
6160
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
366
                                 rd.skip_ws_before_read(), prefix_width,
6162
366
                                 value_width));
6163
366
            std::tie(it, postfix_width) = postfix_result;
6164
366
        }
6165
6166
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
546
                                                 value_width, postfix_width);
6168
546
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
546
        return it;
6173
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.3k
    {
6120
47.3k
        const bool need_skipped_width =
6121
47.3k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.3k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
47.0k
        auto [it, prefix_width] = prefix_result;
6126
47.0k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
47.0k
        std::ptrdiff_t value_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
47.0k
        else {
6146
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
654
                                             specs, value, loc));
6148
6149
654
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
654
        }
6155
6156
        // Read postfix
6157
654
        std::ptrdiff_t postfix_width = 0;
6158
654
        if (it != rng.end()) {
6159
474
            SCN_TRY(postfix_result,
6160
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
474
                                 rd.skip_ws_before_read(), prefix_width,
6162
474
                                 value_width));
6163
474
            std::tie(it, postfix_width) = postfix_result;
6164
474
        }
6165
6166
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
654
                                                 value_width, postfix_width);
6168
654
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
654
        return it;
6173
654
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.0k
    {
6120
47.0k
        const bool need_skipped_width =
6121
47.0k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.0k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.8k
        auto [it, prefix_width] = prefix_result;
6126
46.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.8k
        std::ptrdiff_t value_width = 0;
6130
46.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.8k
        else {
6146
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
392
                                             specs, value, loc));
6148
6149
392
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
392
        }
6155
6156
        // Read postfix
6157
392
        std::ptrdiff_t postfix_width = 0;
6158
392
        if (it != rng.end()) {
6159
264
            SCN_TRY(postfix_result,
6160
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
264
                                 rd.skip_ws_before_read(), prefix_width,
6162
264
                                 value_width));
6163
264
            std::tie(it, postfix_width) = postfix_result;
6164
264
        }
6165
6166
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
392
                                                 value_width, postfix_width);
6168
392
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
392
        return it;
6173
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.6k
    {
6120
47.6k
        const bool need_skipped_width =
6121
47.6k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.6k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
47.3k
        auto [it, prefix_width] = prefix_result;
6126
47.3k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
47.3k
        std::ptrdiff_t value_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
47.3k
        else {
6146
47.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
438
                                             specs, value, loc));
6148
6149
438
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
438
        }
6155
6156
        // Read postfix
6157
438
        std::ptrdiff_t postfix_width = 0;
6158
438
        if (it != rng.end()) {
6159
310
            SCN_TRY(postfix_result,
6160
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
310
                                 rd.skip_ws_before_read(), prefix_width,
6162
310
                                 value_width));
6163
310
            std::tie(it, postfix_width) = postfix_result;
6164
310
        }
6165
6166
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
438
                                                 value_width, postfix_width);
6168
438
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
438
        return it;
6173
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
47.2k
    {
6120
47.2k
        const bool need_skipped_width =
6121
47.2k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
47.2k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
46.9k
        auto [it, prefix_width] = prefix_result;
6126
46.9k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
46.9k
        std::ptrdiff_t value_width = 0;
6130
46.9k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
46.9k
        else {
6146
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
532
                                             specs, value, loc));
6148
6149
532
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
532
        }
6155
6156
        // Read postfix
6157
532
        std::ptrdiff_t postfix_width = 0;
6158
532
        if (it != rng.end()) {
6159
404
            SCN_TRY(postfix_result,
6160
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
404
                                 rd.skip_ws_before_read(), prefix_width,
6162
404
                                 value_width));
6163
404
            std::tie(it, postfix_width) = postfix_result;
6164
404
        }
6165
6166
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
532
                                                 value_width, postfix_width);
6168
532
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
532
        return it;
6173
532
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6119
432
    {
6120
432
        const bool need_skipped_width =
6121
432
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
432
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
432
        auto [it, prefix_width] = prefix_result;
6126
432
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
432
        std::ptrdiff_t value_width = 0;
6130
432
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
422
        else {
6146
422
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
0
                                             specs, value, loc));
6148
6149
0
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
0
        }
6155
6156
        // Read postfix
6157
0
        std::ptrdiff_t postfix_width = 0;
6158
0
        if (it != rng.end()) {
6159
0
            SCN_TRY(postfix_result,
6160
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
0
                                 rd.skip_ws_before_read(), prefix_width,
6162
0
                                 value_width));
6163
0
            std::tie(it, postfix_width) = postfix_result;
6164
0
        }
6165
6166
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
0
                                                 value_width, postfix_width);
6168
0
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
0
        return it;
6173
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
474
    {
6120
474
        const bool need_skipped_width =
6121
474
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
474
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
474
        auto [it, prefix_width] = prefix_result;
6126
474
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
474
        std::ptrdiff_t value_width = 0;
6130
474
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
464
        else {
6146
464
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
0
                                             specs, value, loc));
6148
6149
0
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
0
        }
6155
6156
        // Read postfix
6157
0
        std::ptrdiff_t postfix_width = 0;
6158
0
        if (it != rng.end()) {
6159
0
            SCN_TRY(postfix_result,
6160
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
0
                                 rd.skip_ws_before_read(), prefix_width,
6162
0
                                 value_width));
6163
0
            std::tie(it, postfix_width) = postfix_result;
6164
0
        }
6165
6166
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
0
                                                 value_width, postfix_width);
6168
0
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
0
        return it;
6173
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
450
    {
6120
450
        const bool need_skipped_width =
6121
450
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
450
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
450
        auto [it, prefix_width] = prefix_result;
6126
450
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
450
        std::ptrdiff_t value_width = 0;
6130
450
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
10
            it = w_it.base();
6143
10
            value_width = initial_width - w_it.count();
6144
10
        }
6145
440
        else {
6146
440
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
420
                                             specs, value, loc));
6148
6149
420
            if (need_skipped_width) {
6150
310
                value_width = calculate_text_width(
6151
310
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
310
                        .view());
6153
310
            }
6154
420
        }
6155
6156
        // Read postfix
6157
430
        std::ptrdiff_t postfix_width = 0;
6158
430
        if (it != rng.end()) {
6159
430
            SCN_TRY(postfix_result,
6160
430
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
430
                                 rd.skip_ws_before_read(), prefix_width,
6162
430
                                 value_width));
6163
430
            std::tie(it, postfix_width) = postfix_result;
6164
430
        }
6165
6166
430
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
430
                                                 value_width, postfix_width);
6168
430
            !e) {
6169
296
            return unexpected(e);
6170
296
        }
6171
6172
134
        return it;
6173
430
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
72.3k
    {
6120
72.3k
        const bool need_skipped_width =
6121
72.3k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.3k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
71.8k
        auto [it, prefix_width] = prefix_result;
6126
71.8k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
71.8k
        std::ptrdiff_t value_width = 0;
6130
71.8k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
71.8k
        else {
6146
71.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
12.0k
                                             specs, value, loc));
6148
6149
12.0k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
12.0k
        }
6155
6156
        // Read postfix
6157
12.0k
        std::ptrdiff_t postfix_width = 0;
6158
12.0k
        if (it != rng.end()) {
6159
11.9k
            SCN_TRY(postfix_result,
6160
11.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
11.9k
                                 rd.skip_ws_before_read(), prefix_width,
6162
11.9k
                                 value_width));
6163
11.9k
            std::tie(it, postfix_width) = postfix_result;
6164
11.9k
        }
6165
6166
12.0k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
12.0k
                                                 value_width, postfix_width);
6168
12.0k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
12.0k
        return it;
6173
12.0k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
72.9k
    {
6120
72.9k
        const bool need_skipped_width =
6121
72.9k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.9k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
72.3k
        auto [it, prefix_width] = prefix_result;
6126
72.3k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
72.3k
        std::ptrdiff_t value_width = 0;
6130
72.3k
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
72.3k
        else {
6146
72.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
12.0k
                                             specs, value, loc));
6148
6149
12.0k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
12.0k
        }
6155
6156
        // Read postfix
6157
12.0k
        std::ptrdiff_t postfix_width = 0;
6158
12.0k
        if (it != rng.end()) {
6159
11.9k
            SCN_TRY(postfix_result,
6160
11.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
11.9k
                                 rd.skip_ws_before_read(), prefix_width,
6162
11.9k
                                 value_width));
6163
11.9k
            std::tie(it, postfix_width) = postfix_result;
6164
11.9k
        }
6165
6166
12.0k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
12.0k
                                                 value_width, postfix_width);
6168
12.0k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
12.0k
        return it;
6173
12.0k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6119
72.5k
    {
6120
72.5k
        const bool need_skipped_width =
6121
72.5k
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
72.5k
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
72.0k
        auto [it, prefix_width] = prefix_result;
6126
72.0k
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
72.0k
        std::ptrdiff_t value_width = 0;
6130
72.0k
        if (specs.precision != 0) {
6131
0
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
0
            const auto initial_width = specs.precision - prefix_width;
6139
0
            auto max_width_view =
6140
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
0
            it = w_it.base();
6143
0
            value_width = initial_width - w_it.count();
6144
0
        }
6145
72.0k
        else {
6146
72.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
12.1k
                                             specs, value, loc));
6148
6149
12.1k
            if (need_skipped_width) {
6150
0
                value_width = calculate_text_width(
6151
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
0
                        .view());
6153
0
            }
6154
12.1k
        }
6155
6156
        // Read postfix
6157
12.1k
        std::ptrdiff_t postfix_width = 0;
6158
12.1k
        if (it != rng.end()) {
6159
12.0k
            SCN_TRY(postfix_result,
6160
12.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
12.0k
                                 rd.skip_ws_before_read(), prefix_width,
6162
12.0k
                                 value_width));
6163
12.0k
            std::tie(it, postfix_width) = postfix_result;
6164
12.0k
        }
6165
6166
12.1k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
12.1k
                                                 value_width, postfix_width);
6168
12.1k
            !e) {
6169
0
            return unexpected(e);
6170
0
        }
6171
6172
12.1k
        return it;
6173
12.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6119
506
    {
6120
506
        const bool need_skipped_width =
6121
506
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
506
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
506
        auto [it, prefix_width] = prefix_result;
6126
506
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
506
        std::ptrdiff_t value_width = 0;
6130
506
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
10
            it = w_it.base();
6143
10
            value_width = initial_width - w_it.count();
6144
10
        }
6145
496
        else {
6146
496
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
350
                                             specs, value, loc));
6148
6149
350
            if (need_skipped_width) {
6150
270
                value_width = calculate_text_width(
6151
270
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
270
                        .view());
6153
270
            }
6154
350
        }
6155
6156
        // Read postfix
6157
360
        std::ptrdiff_t postfix_width = 0;
6158
360
        if (it != rng.end()) {
6159
108
            SCN_TRY(postfix_result,
6160
108
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
108
                                 rd.skip_ws_before_read(), prefix_width,
6162
108
                                 value_width));
6163
108
            std::tie(it, postfix_width) = postfix_result;
6164
108
        }
6165
6166
360
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
360
                                                 value_width, postfix_width);
6168
360
            !e) {
6169
20
            return unexpected(e);
6170
20
        }
6171
6172
340
        return it;
6173
360
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6119
8.16M
    {
6120
8.16M
        const bool need_skipped_width =
6121
8.16M
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
8.16M
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
8.15M
        auto [it, prefix_width] = prefix_result;
6126
8.15M
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
8.15M
        std::ptrdiff_t value_width = 0;
6130
8.15M
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
10
            it = w_it.base();
6143
10
            value_width = initial_width - w_it.count();
6144
10
        }
6145
8.15M
        else {
6146
8.15M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
8.15M
                                             specs, value, loc));
6148
6149
8.15M
            if (need_skipped_width) {
6150
270
                value_width = calculate_text_width(
6151
270
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
270
                        .view());
6153
270
            }
6154
8.15M
        }
6155
6156
        // Read postfix
6157
8.15M
        std::ptrdiff_t postfix_width = 0;
6158
8.15M
        if (it != rng.end()) {
6159
8.15M
            SCN_TRY(postfix_result,
6160
8.15M
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
8.15M
                                 rd.skip_ws_before_read(), prefix_width,
6162
8.15M
                                 value_width));
6163
8.15M
            std::tie(it, postfix_width) = postfix_result;
6164
8.15M
        }
6165
6166
8.15M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
8.15M
                                                 value_width, postfix_width);
6168
8.15M
            !e) {
6169
20
            return unexpected(e);
6170
20
        }
6171
6172
8.15M
        return it;
6173
8.15M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6119
8.16M
    {
6120
8.16M
        const bool need_skipped_width =
6121
8.16M
            specs.width != 0 || specs.precision != 0;
6122
6123
        // Read prefix
6124
8.16M
        SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6125
8.15M
        auto [it, prefix_width] = prefix_result;
6126
8.15M
        auto prefix_end_it = it;
6127
6128
        // Read value
6129
8.15M
        std::ptrdiff_t value_width = 0;
6130
8.15M
        if (specs.precision != 0) {
6131
10
            if (specs.precision <= prefix_width) {
6132
0
                return unexpected_scan_error(
6133
0
                    scan_error::invalid_scanned_value,
6134
0
                    "Too many spaces before value, precision exceeded before "
6135
0
                    "reading value");
6136
0
            }
6137
6138
10
            const auto initial_width = specs.precision - prefix_width;
6139
10
            auto max_width_view =
6140
10
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6141
10
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6142
10
            it = w_it.base();
6143
10
            value_width = initial_width - w_it.count();
6144
10
        }
6145
8.15M
        else {
6146
8.15M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6147
8.15M
                                             specs, value, loc));
6148
6149
8.15M
            if (need_skipped_width) {
6150
270
                value_width = calculate_text_width(
6151
270
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6152
270
                        .view());
6153
270
            }
6154
8.15M
        }
6155
6156
        // Read postfix
6157
8.15M
        std::ptrdiff_t postfix_width = 0;
6158
8.15M
        if (it != rng.end()) {
6159
8.15M
            SCN_TRY(postfix_result,
6160
8.15M
                    impl_postfix(ranges::subrange{it, rng.end()},
6161
8.15M
                                 rd.skip_ws_before_read(), prefix_width,
6162
8.15M
                                 value_width));
6163
8.15M
            std::tie(it, postfix_width) = postfix_result;
6164
8.15M
        }
6165
6166
8.15M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6167
8.15M
                                                 value_width, postfix_width);
6168
8.15M
            !e) {
6169
20
            return unexpected(e);
6170
20
        }
6171
6172
8.15M
        return it;
6173
8.15M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
6174
6175
    template <typename T>
6176
    scan_expected<iterator> operator()(T& value)
6177
32.5M
    {
6178
32.5M
        if constexpr (!detail::is_type_disabled<T> &&
6179
32.5M
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
12.1M
            auto rd = make_reader<T, char_type>();
6183
20.3M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
40.1k
                return unexpected(e);
6185
40.1k
            }
6186
6187
20.3M
            return impl(rd, range, value);
6188
20.3M
        }
6189
12.1M
        else if constexpr (!detail::is_type_disabled<T>) {
6190
12.1M
            auto rd = make_reader<T, char_type>();
6191
12.1M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
4.68k
                return unexpected(e);
6193
4.68k
            }
6194
6195
12.1M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
12.1M
                specs.width != 0) {
6197
12.1M
                return impl(rd, range, value);
6198
12.1M
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
32.5M
        else {
6206
32.5M
            SCN_EXPECT(false);
6207
32.5M
            SCN_UNREACHABLE;
6208
32.5M
        }
6209
32.5M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6177
248k
    {
6178
248k
        if constexpr (!detail::is_type_disabled<T> &&
6179
248k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
248k
            auto rd = make_reader<T, char_type>();
6183
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
248k
                return unexpected(e);
6185
248k
            }
6186
6187
248k
            return impl(rd, range, value);
6188
248k
        }
6189
248k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
248k
            auto rd = make_reader<T, char_type>();
6191
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
248k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
248k
                specs.width != 0) {
6197
248k
                return impl(rd, range, value);
6198
248k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
248k
        else {
6206
248k
            SCN_EXPECT(false);
6207
248k
            SCN_UNREACHABLE;
6208
248k
        }
6209
248k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6177
322k
    {
6178
322k
        if constexpr (!detail::is_type_disabled<T> &&
6179
322k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
322k
            auto rd = make_reader<T, char_type>();
6183
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
322k
                return unexpected(e);
6185
322k
            }
6186
6187
322k
            return impl(rd, range, value);
6188
322k
        }
6189
322k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
322k
            auto rd = make_reader<T, char_type>();
6191
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
322k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
322k
                specs.width != 0) {
6197
322k
                return impl(rd, range, value);
6198
322k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
322k
        else {
6206
322k
            SCN_EXPECT(false);
6207
322k
            SCN_UNREACHABLE;
6208
322k
        }
6209
322k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6177
328k
    {
6178
328k
        if constexpr (!detail::is_type_disabled<T> &&
6179
328k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
328k
            auto rd = make_reader<T, char_type>();
6183
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
328k
                return unexpected(e);
6185
328k
            }
6186
6187
328k
            return impl(rd, range, value);
6188
328k
        }
6189
328k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
328k
            auto rd = make_reader<T, char_type>();
6191
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
328k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
328k
                specs.width != 0) {
6197
328k
                return impl(rd, range, value);
6198
328k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
328k
        else {
6206
328k
            SCN_EXPECT(false);
6207
328k
            SCN_UNREACHABLE;
6208
328k
        }
6209
328k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6177
243k
    {
6178
243k
        if constexpr (!detail::is_type_disabled<T> &&
6179
243k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
243k
            auto rd = make_reader<T, char_type>();
6183
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
243k
                return unexpected(e);
6185
243k
            }
6186
6187
243k
            return impl(rd, range, value);
6188
243k
        }
6189
243k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
243k
            auto rd = make_reader<T, char_type>();
6191
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
243k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
243k
                specs.width != 0) {
6197
243k
                return impl(rd, range, value);
6198
243k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
243k
        else {
6206
243k
            SCN_EXPECT(false);
6207
243k
            SCN_UNREACHABLE;
6208
243k
        }
6209
243k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6177
277k
    {
6178
277k
        if constexpr (!detail::is_type_disabled<T> &&
6179
277k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
277k
            auto rd = make_reader<T, char_type>();
6183
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
277k
                return unexpected(e);
6185
277k
            }
6186
6187
277k
            return impl(rd, range, value);
6188
277k
        }
6189
277k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
277k
            auto rd = make_reader<T, char_type>();
6191
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
277k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
277k
                specs.width != 0) {
6197
277k
                return impl(rd, range, value);
6198
277k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
277k
        else {
6206
277k
            SCN_EXPECT(false);
6207
277k
            SCN_UNREACHABLE;
6208
277k
        }
6209
277k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6177
280k
    {
6178
280k
        if constexpr (!detail::is_type_disabled<T> &&
6179
280k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
280k
            auto rd = make_reader<T, char_type>();
6183
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
280k
                return unexpected(e);
6185
280k
            }
6186
6187
280k
            return impl(rd, range, value);
6188
280k
        }
6189
280k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
280k
            auto rd = make_reader<T, char_type>();
6191
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
280k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
280k
                specs.width != 0) {
6197
280k
                return impl(rd, range, value);
6198
280k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
280k
        else {
6206
280k
            SCN_EXPECT(false);
6207
280k
            SCN_UNREACHABLE;
6208
280k
        }
6209
280k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6177
540k
    {
6178
540k
        if constexpr (!detail::is_type_disabled<T> &&
6179
540k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
540k
            auto rd = make_reader<T, char_type>();
6183
540k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
540k
                return unexpected(e);
6185
540k
            }
6186
6187
540k
            return impl(rd, range, value);
6188
540k
        }
6189
540k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
540k
            auto rd = make_reader<T, char_type>();
6191
540k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
540k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
540k
                specs.width != 0) {
6197
540k
                return impl(rd, range, value);
6198
540k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
540k
        else {
6206
540k
            SCN_EXPECT(false);
6207
540k
            SCN_UNREACHABLE;
6208
540k
        }
6209
540k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6177
579k
    {
6178
579k
        if constexpr (!detail::is_type_disabled<T> &&
6179
579k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
579k
            auto rd = make_reader<T, char_type>();
6183
579k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
579k
                return unexpected(e);
6185
579k
            }
6186
6187
579k
            return impl(rd, range, value);
6188
579k
        }
6189
579k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
579k
            auto rd = make_reader<T, char_type>();
6191
579k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
579k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
579k
                specs.width != 0) {
6197
579k
                return impl(rd, range, value);
6198
579k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
579k
        else {
6206
579k
            SCN_EXPECT(false);
6207
579k
            SCN_UNREACHABLE;
6208
579k
        }
6209
579k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6177
585k
    {
6178
585k
        if constexpr (!detail::is_type_disabled<T> &&
6179
585k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
585k
            auto rd = make_reader<T, char_type>();
6183
585k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
585k
                return unexpected(e);
6185
585k
            }
6186
6187
585k
            return impl(rd, range, value);
6188
585k
        }
6189
585k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
585k
            auto rd = make_reader<T, char_type>();
6191
585k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
585k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
585k
                specs.width != 0) {
6197
585k
                return impl(rd, range, value);
6198
585k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
585k
        else {
6206
585k
            SCN_EXPECT(false);
6207
585k
            SCN_UNREACHABLE;
6208
585k
        }
6209
585k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6177
67.0k
    {
6178
67.0k
        if constexpr (!detail::is_type_disabled<T> &&
6179
67.0k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
67.0k
            auto rd = make_reader<T, char_type>();
6183
67.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
67.0k
                return unexpected(e);
6185
67.0k
            }
6186
6187
67.0k
            return impl(rd, range, value);
6188
67.0k
        }
6189
67.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
67.0k
            auto rd = make_reader<T, char_type>();
6191
67.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
1.56k
                return unexpected(e);
6193
1.56k
            }
6194
6195
65.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
65.5k
                specs.width != 0) {
6197
65.5k
                return impl(rd, range, value);
6198
65.5k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
67.0k
        else {
6206
67.0k
            SCN_EXPECT(false);
6207
67.0k
            SCN_UNREACHABLE;
6208
67.0k
        }
6209
67.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6177
47.1k
    {
6178
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.1k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.1k
            auto rd = make_reader<T, char_type>();
6183
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.1k
                return unexpected(e);
6185
47.1k
            }
6186
6187
47.1k
            return impl(rd, range, value);
6188
47.1k
        }
6189
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.1k
            auto rd = make_reader<T, char_type>();
6191
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.1k
                specs.width != 0) {
6197
47.1k
                return impl(rd, range, value);
6198
47.1k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.1k
        else {
6206
47.1k
            SCN_EXPECT(false);
6207
47.1k
            SCN_UNREACHABLE;
6208
47.1k
        }
6209
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6177
47.2k
    {
6178
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.2k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.2k
            auto rd = make_reader<T, char_type>();
6183
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.2k
                return unexpected(e);
6185
47.2k
            }
6186
6187
47.2k
            return impl(rd, range, value);
6188
47.2k
        }
6189
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.2k
            auto rd = make_reader<T, char_type>();
6191
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.2k
                specs.width != 0) {
6197
47.2k
                return impl(rd, range, value);
6198
47.2k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.2k
        else {
6206
47.2k
            SCN_EXPECT(false);
6207
47.2k
            SCN_UNREACHABLE;
6208
47.2k
        }
6209
47.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6177
47.3k
    {
6178
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.3k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.3k
            auto rd = make_reader<T, char_type>();
6183
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.3k
                return unexpected(e);
6185
47.3k
            }
6186
6187
47.3k
            return impl(rd, range, value);
6188
47.3k
        }
6189
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.3k
            auto rd = make_reader<T, char_type>();
6191
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.3k
                specs.width != 0) {
6197
47.3k
                return impl(rd, range, value);
6198
47.3k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.3k
        else {
6206
47.3k
            SCN_EXPECT(false);
6207
47.3k
            SCN_UNREACHABLE;
6208
47.3k
        }
6209
47.3k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6177
47.0k
    {
6178
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.0k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.0k
            auto rd = make_reader<T, char_type>();
6183
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.0k
                return unexpected(e);
6185
47.0k
            }
6186
6187
47.0k
            return impl(rd, range, value);
6188
47.0k
        }
6189
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.0k
            auto rd = make_reader<T, char_type>();
6191
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.0k
                specs.width != 0) {
6197
47.0k
                return impl(rd, range, value);
6198
47.0k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.0k
        else {
6206
47.0k
            SCN_EXPECT(false);
6207
47.0k
            SCN_UNREACHABLE;
6208
47.0k
        }
6209
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6177
47.1k
    {
6178
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.1k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.1k
            auto rd = make_reader<T, char_type>();
6183
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.1k
                return unexpected(e);
6185
47.1k
            }
6186
6187
47.1k
            return impl(rd, range, value);
6188
47.1k
        }
6189
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.1k
            auto rd = make_reader<T, char_type>();
6191
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.1k
                specs.width != 0) {
6197
47.1k
                return impl(rd, range, value);
6198
47.1k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.1k
        else {
6206
47.1k
            SCN_EXPECT(false);
6207
47.1k
            SCN_UNREACHABLE;
6208
47.1k
        }
6209
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6177
47.2k
    {
6178
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.2k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
47.2k
            auto rd = make_reader<T, char_type>();
6183
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
47.2k
                return unexpected(e);
6185
47.2k
            }
6186
6187
47.2k
            return impl(rd, range, value);
6188
47.2k
        }
6189
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.2k
            auto rd = make_reader<T, char_type>();
6191
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.2k
                specs.width != 0) {
6197
47.2k
                return impl(rd, range, value);
6198
47.2k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
47.2k
        else {
6206
47.2k
            SCN_EXPECT(false);
6207
47.2k
            SCN_UNREACHABLE;
6208
47.2k
        }
6209
47.2k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6177
72.3k
    {
6178
72.3k
        if constexpr (!detail::is_type_disabled<T> &&
6179
72.3k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
72.3k
            auto rd = make_reader<T, char_type>();
6183
72.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
72.3k
                return unexpected(e);
6185
72.3k
            }
6186
6187
72.3k
            return impl(rd, range, value);
6188
72.3k
        }
6189
72.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
72.3k
            auto rd = make_reader<T, char_type>();
6191
72.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
72.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
72.3k
                specs.width != 0) {
6197
72.3k
                return impl(rd, range, value);
6198
72.3k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
72.3k
        else {
6206
72.3k
            SCN_EXPECT(false);
6207
72.3k
            SCN_UNREACHABLE;
6208
72.3k
        }
6209
72.3k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6177
72.4k
    {
6178
72.4k
        if constexpr (!detail::is_type_disabled<T> &&
6179
72.4k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
72.4k
            auto rd = make_reader<T, char_type>();
6183
72.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
72.4k
                return unexpected(e);
6185
72.4k
            }
6186
6187
72.4k
            return impl(rd, range, value);
6188
72.4k
        }
6189
72.4k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
72.4k
            auto rd = make_reader<T, char_type>();
6191
72.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
72.4k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
72.4k
                specs.width != 0) {
6197
72.4k
                return impl(rd, range, value);
6198
72.4k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
72.4k
        else {
6206
72.4k
            SCN_EXPECT(false);
6207
72.4k
            SCN_UNREACHABLE;
6208
72.4k
        }
6209
72.4k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6177
72.5k
    {
6178
72.5k
        if constexpr (!detail::is_type_disabled<T> &&
6179
72.5k
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
72.5k
            auto rd = make_reader<T, char_type>();
6183
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
72.5k
                return unexpected(e);
6185
72.5k
            }
6186
6187
72.5k
            return impl(rd, range, value);
6188
72.5k
        }
6189
72.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
72.5k
            auto rd = make_reader<T, char_type>();
6191
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
0
                return unexpected(e);
6193
0
            }
6194
6195
72.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
72.5k
                specs.width != 0) {
6197
72.5k
                return impl(rd, range, value);
6198
72.5k
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
72.5k
        else {
6206
72.5k
            SCN_EXPECT(false);
6207
72.5k
            SCN_UNREACHABLE;
6208
72.5k
        }
6209
72.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6177
8.16M
    {
6178
8.16M
        if constexpr (!detail::is_type_disabled<T> &&
6179
8.16M
                      std::is_same_v<
6180
0
                          context_type,
6181
0
                          basic_contiguous_scan_context<char_type>>) {
6182
8.16M
            auto rd = make_reader<T, char_type>();
6183
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
8.16M
                return unexpected(e);
6185
8.16M
            }
6186
6187
8.16M
            return impl(rd, range, value);
6188
8.16M
        }
6189
8.16M
        else if constexpr (!detail::is_type_disabled<T>) {
6190
8.16M
            auto rd = make_reader<T, char_type>();
6191
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
3.12k
                return unexpected(e);
6193
3.12k
            }
6194
6195
8.16M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
8.16M
                specs.width != 0) {
6197
8.16M
                return impl(rd, range, value);
6198
8.16M
            }
6199
6200
0
            auto crange = get_as_contiguous(range);
6201
0
            SCN_TRY(it, impl(rd, crange, value));
6202
0
            return ranges::next(range.begin(),
6203
0
                                ranges::distance(crange.begin(), it));
6204
0
        }
6205
8.16M
        else {
6206
8.16M
            SCN_EXPECT(false);
6207
8.16M
            SCN_UNREACHABLE;
6208
8.16M
        }
6209
8.16M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6177
247k
    {
6178
247k
        if constexpr (!detail::is_type_disabled<T> &&
6179
247k
                      std::is_same_v<
6180
0
                          context_type,
6181
247k
                          basic_contiguous_scan_context<char_type>>) {
6182
247k
            auto rd = make_reader<T, char_type>();
6183
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
247k
            return impl(rd, range, value);
6188
247k
        }
6189
247k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
247k
            auto rd = make_reader<T, char_type>();
6191
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
247k
                return unexpected(e);
6193
247k
            }
6194
6195
247k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
247k
                specs.width != 0) {
6197
247k
                return impl(rd, range, value);
6198
247k
            }
6199
6200
247k
            auto crange = get_as_contiguous(range);
6201
247k
            SCN_TRY(it, impl(rd, crange, value));
6202
247k
            return ranges::next(range.begin(),
6203
247k
                                ranges::distance(crange.begin(), it));
6204
247k
        }
6205
247k
        else {
6206
247k
            SCN_EXPECT(false);
6207
247k
            SCN_UNREACHABLE;
6208
247k
        }
6209
247k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6177
326k
    {
6178
326k
        if constexpr (!detail::is_type_disabled<T> &&
6179
326k
                      std::is_same_v<
6180
0
                          context_type,
6181
326k
                          basic_contiguous_scan_context<char_type>>) {
6182
326k
            auto rd = make_reader<T, char_type>();
6183
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
4.99k
                return unexpected(e);
6185
4.99k
            }
6186
6187
321k
            return impl(rd, range, value);
6188
326k
        }
6189
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
326k
            auto rd = make_reader<T, char_type>();
6191
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
326k
                return unexpected(e);
6193
326k
            }
6194
6195
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
326k
                specs.width != 0) {
6197
326k
                return impl(rd, range, value);
6198
326k
            }
6199
6200
326k
            auto crange = get_as_contiguous(range);
6201
326k
            SCN_TRY(it, impl(rd, crange, value));
6202
326k
            return ranges::next(range.begin(),
6203
326k
                                ranges::distance(crange.begin(), it));
6204
326k
        }
6205
326k
        else {
6206
326k
            SCN_EXPECT(false);
6207
326k
            SCN_UNREACHABLE;
6208
326k
        }
6209
326k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6177
326k
    {
6178
326k
        if constexpr (!detail::is_type_disabled<T> &&
6179
326k
                      std::is_same_v<
6180
0
                          context_type,
6181
326k
                          basic_contiguous_scan_context<char_type>>) {
6182
326k
            auto rd = make_reader<T, char_type>();
6183
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
326k
            return impl(rd, range, value);
6188
326k
        }
6189
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
326k
            auto rd = make_reader<T, char_type>();
6191
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
326k
                return unexpected(e);
6193
326k
            }
6194
6195
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
326k
                specs.width != 0) {
6197
326k
                return impl(rd, range, value);
6198
326k
            }
6199
6200
326k
            auto crange = get_as_contiguous(range);
6201
326k
            SCN_TRY(it, impl(rd, crange, value));
6202
326k
            return ranges::next(range.begin(),
6203
326k
                                ranges::distance(crange.begin(), it));
6204
326k
        }
6205
326k
        else {
6206
326k
            SCN_EXPECT(false);
6207
326k
            SCN_UNREACHABLE;
6208
326k
        }
6209
326k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6177
242k
    {
6178
242k
        if constexpr (!detail::is_type_disabled<T> &&
6179
242k
                      std::is_same_v<
6180
0
                          context_type,
6181
242k
                          basic_contiguous_scan_context<char_type>>) {
6182
242k
            auto rd = make_reader<T, char_type>();
6183
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
242k
            return impl(rd, range, value);
6188
242k
        }
6189
242k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
242k
            auto rd = make_reader<T, char_type>();
6191
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
242k
                return unexpected(e);
6193
242k
            }
6194
6195
242k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
242k
                specs.width != 0) {
6197
242k
                return impl(rd, range, value);
6198
242k
            }
6199
6200
242k
            auto crange = get_as_contiguous(range);
6201
242k
            SCN_TRY(it, impl(rd, crange, value));
6202
242k
            return ranges::next(range.begin(),
6203
242k
                                ranges::distance(crange.begin(), it));
6204
242k
        }
6205
242k
        else {
6206
242k
            SCN_EXPECT(false);
6207
242k
            SCN_UNREACHABLE;
6208
242k
        }
6209
242k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6177
281k
    {
6178
281k
        if constexpr (!detail::is_type_disabled<T> &&
6179
281k
                      std::is_same_v<
6180
0
                          context_type,
6181
281k
                          basic_contiguous_scan_context<char_type>>) {
6182
281k
            auto rd = make_reader<T, char_type>();
6183
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
4.99k
                return unexpected(e);
6185
4.99k
            }
6186
6187
276k
            return impl(rd, range, value);
6188
281k
        }
6189
281k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
281k
            auto rd = make_reader<T, char_type>();
6191
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
281k
                return unexpected(e);
6193
281k
            }
6194
6195
281k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
281k
                specs.width != 0) {
6197
281k
                return impl(rd, range, value);
6198
281k
            }
6199
6200
281k
            auto crange = get_as_contiguous(range);
6201
281k
            SCN_TRY(it, impl(rd, crange, value));
6202
281k
            return ranges::next(range.begin(),
6203
281k
                                ranges::distance(crange.begin(), it));
6204
281k
        }
6205
281k
        else {
6206
281k
            SCN_EXPECT(false);
6207
281k
            SCN_UNREACHABLE;
6208
281k
        }
6209
281k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6177
278k
    {
6178
278k
        if constexpr (!detail::is_type_disabled<T> &&
6179
278k
                      std::is_same_v<
6180
0
                          context_type,
6181
278k
                          basic_contiguous_scan_context<char_type>>) {
6182
278k
            auto rd = make_reader<T, char_type>();
6183
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
278k
            return impl(rd, range, value);
6188
278k
        }
6189
278k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
278k
            auto rd = make_reader<T, char_type>();
6191
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
278k
                return unexpected(e);
6193
278k
            }
6194
6195
278k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
278k
                specs.width != 0) {
6197
278k
                return impl(rd, range, value);
6198
278k
            }
6199
6200
278k
            auto crange = get_as_contiguous(range);
6201
278k
            SCN_TRY(it, impl(rd, crange, value));
6202
278k
            return ranges::next(range.begin(),
6203
278k
                                ranges::distance(crange.begin(), it));
6204
278k
        }
6205
278k
        else {
6206
278k
            SCN_EXPECT(false);
6207
278k
            SCN_UNREACHABLE;
6208
278k
        }
6209
278k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
6177
5.49k
    {
6178
5.49k
        if constexpr (!detail::is_type_disabled<T> &&
6179
5.49k
                      std::is_same_v<
6180
0
                          context_type,
6181
5.49k
                          basic_contiguous_scan_context<char_type>>) {
6182
5.49k
            auto rd = make_reader<T, char_type>();
6183
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
5.02k
                return unexpected(e);
6185
5.02k
            }
6186
6187
470
            return impl(rd, range, value);
6188
5.49k
        }
6189
5.49k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
5.49k
            auto rd = make_reader<T, char_type>();
6191
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
5.49k
                return unexpected(e);
6193
5.49k
            }
6194
6195
5.49k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
5.49k
                specs.width != 0) {
6197
5.49k
                return impl(rd, range, value);
6198
5.49k
            }
6199
6200
5.49k
            auto crange = get_as_contiguous(range);
6201
5.49k
            SCN_TRY(it, impl(rd, crange, value));
6202
5.49k
            return ranges::next(range.begin(),
6203
5.49k
                                ranges::distance(crange.begin(), it));
6204
5.49k
        }
6205
5.49k
        else {
6206
5.49k
            SCN_EXPECT(false);
6207
5.49k
            SCN_UNREACHABLE;
6208
5.49k
        }
6209
5.49k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
6177
5.53k
    {
6178
5.53k
        if constexpr (!detail::is_type_disabled<T> &&
6179
5.53k
                      std::is_same_v<
6180
0
                          context_type,
6181
5.53k
                          basic_contiguous_scan_context<char_type>>) {
6182
5.53k
            auto rd = make_reader<T, char_type>();
6183
5.53k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
4.75k
                return unexpected(e);
6185
4.75k
            }
6186
6187
784
            return impl(rd, range, value);
6188
5.53k
        }
6189
5.53k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
5.53k
            auto rd = make_reader<T, char_type>();
6191
5.53k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
5.53k
                return unexpected(e);
6193
5.53k
            }
6194
6195
5.53k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
5.53k
                specs.width != 0) {
6197
5.53k
                return impl(rd, range, value);
6198
5.53k
            }
6199
6200
5.53k
            auto crange = get_as_contiguous(range);
6201
5.53k
            SCN_TRY(it, impl(rd, crange, value));
6202
5.53k
            return ranges::next(range.begin(),
6203
5.53k
                                ranges::distance(crange.begin(), it));
6204
5.53k
        }
6205
5.53k
        else {
6206
5.53k
            SCN_EXPECT(false);
6207
5.53k
            SCN_UNREACHABLE;
6208
5.53k
        }
6209
5.53k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
6177
5.49k
    {
6178
5.49k
        if constexpr (!detail::is_type_disabled<T> &&
6179
5.49k
                      std::is_same_v<
6180
0
                          context_type,
6181
5.49k
                          basic_contiguous_scan_context<char_type>>) {
6182
5.49k
            auto rd = make_reader<T, char_type>();
6183
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
4.97k
                return unexpected(e);
6185
4.97k
            }
6186
6187
516
            return impl(rd, range, value);
6188
5.49k
        }
6189
5.49k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
5.49k
            auto rd = make_reader<T, char_type>();
6191
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
5.49k
                return unexpected(e);
6193
5.49k
            }
6194
6195
5.49k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
5.49k
                specs.width != 0) {
6197
5.49k
                return impl(rd, range, value);
6198
5.49k
            }
6199
6200
5.49k
            auto crange = get_as_contiguous(range);
6201
5.49k
            SCN_TRY(it, impl(rd, crange, value));
6202
5.49k
            return ranges::next(range.begin(),
6203
5.49k
                                ranges::distance(crange.begin(), it));
6204
5.49k
        }
6205
5.49k
        else {
6206
5.49k
            SCN_EXPECT(false);
6207
5.49k
            SCN_UNREACHABLE;
6208
5.49k
        }
6209
5.49k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6177
527k
    {
6178
527k
        if constexpr (!detail::is_type_disabled<T> &&
6179
527k
                      std::is_same_v<
6180
0
                          context_type,
6181
527k
                          basic_contiguous_scan_context<char_type>>) {
6182
527k
            auto rd = make_reader<T, char_type>();
6183
527k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
527k
            return impl(rd, range, value);
6188
527k
        }
6189
527k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
527k
            auto rd = make_reader<T, char_type>();
6191
527k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
527k
                return unexpected(e);
6193
527k
            }
6194
6195
527k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
527k
                specs.width != 0) {
6197
527k
                return impl(rd, range, value);
6198
527k
            }
6199
6200
527k
            auto crange = get_as_contiguous(range);
6201
527k
            SCN_TRY(it, impl(rd, crange, value));
6202
527k
            return ranges::next(range.begin(),
6203
527k
                                ranges::distance(crange.begin(), it));
6204
527k
        }
6205
527k
        else {
6206
527k
            SCN_EXPECT(false);
6207
527k
            SCN_UNREACHABLE;
6208
527k
        }
6209
527k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6177
570k
    {
6178
570k
        if constexpr (!detail::is_type_disabled<T> &&
6179
570k
                      std::is_same_v<
6180
0
                          context_type,
6181
570k
                          basic_contiguous_scan_context<char_type>>) {
6182
570k
            auto rd = make_reader<T, char_type>();
6183
570k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
4.99k
                return unexpected(e);
6185
4.99k
            }
6186
6187
565k
            return impl(rd, range, value);
6188
570k
        }
6189
570k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
570k
            auto rd = make_reader<T, char_type>();
6191
570k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
570k
                return unexpected(e);
6193
570k
            }
6194
6195
570k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
570k
                specs.width != 0) {
6197
570k
                return impl(rd, range, value);
6198
570k
            }
6199
6200
570k
            auto crange = get_as_contiguous(range);
6201
570k
            SCN_TRY(it, impl(rd, crange, value));
6202
570k
            return ranges::next(range.begin(),
6203
570k
                                ranges::distance(crange.begin(), it));
6204
570k
        }
6205
570k
        else {
6206
570k
            SCN_EXPECT(false);
6207
570k
            SCN_UNREACHABLE;
6208
570k
        }
6209
570k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6177
571k
    {
6178
571k
        if constexpr (!detail::is_type_disabled<T> &&
6179
571k
                      std::is_same_v<
6180
0
                          context_type,
6181
571k
                          basic_contiguous_scan_context<char_type>>) {
6182
571k
            auto rd = make_reader<T, char_type>();
6183
571k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
571k
            return impl(rd, range, value);
6188
571k
        }
6189
571k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
571k
            auto rd = make_reader<T, char_type>();
6191
571k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
571k
                return unexpected(e);
6193
571k
            }
6194
6195
571k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
571k
                specs.width != 0) {
6197
571k
                return impl(rd, range, value);
6198
571k
            }
6199
6200
571k
            auto crange = get_as_contiguous(range);
6201
571k
            SCN_TRY(it, impl(rd, crange, value));
6202
571k
            return ranges::next(range.begin(),
6203
571k
                                ranges::distance(crange.begin(), it));
6204
571k
        }
6205
571k
        else {
6206
571k
            SCN_EXPECT(false);
6207
571k
            SCN_UNREACHABLE;
6208
571k
        }
6209
571k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6177
71.9k
    {
6178
71.9k
        if constexpr (!detail::is_type_disabled<T> &&
6179
71.9k
                      std::is_same_v<
6180
0
                          context_type,
6181
71.9k
                          basic_contiguous_scan_context<char_type>>) {
6182
71.9k
            auto rd = make_reader<T, char_type>();
6183
71.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
1.67k
                return unexpected(e);
6185
1.67k
            }
6186
6187
70.2k
            return impl(rd, range, value);
6188
71.9k
        }
6189
71.9k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
71.9k
            auto rd = make_reader<T, char_type>();
6191
71.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
71.9k
                return unexpected(e);
6193
71.9k
            }
6194
6195
71.9k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
71.9k
                specs.width != 0) {
6197
71.9k
                return impl(rd, range, value);
6198
71.9k
            }
6199
6200
71.9k
            auto crange = get_as_contiguous(range);
6201
71.9k
            SCN_TRY(it, impl(rd, crange, value));
6202
71.9k
            return ranges::next(range.begin(),
6203
71.9k
                                ranges::distance(crange.begin(), it));
6204
71.9k
        }
6205
71.9k
        else {
6206
71.9k
            SCN_EXPECT(false);
6207
71.9k
            SCN_UNREACHABLE;
6208
71.9k
        }
6209
71.9k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6177
71.9k
    {
6178
71.9k
        if constexpr (!detail::is_type_disabled<T> &&
6179
71.9k
                      std::is_same_v<
6180
0
                          context_type,
6181
71.9k
                          basic_contiguous_scan_context<char_type>>) {
6182
71.9k
            auto rd = make_reader<T, char_type>();
6183
71.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
1.67k
                return unexpected(e);
6185
1.67k
            }
6186
6187
70.2k
            return impl(rd, range, value);
6188
71.9k
        }
6189
71.9k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
71.9k
            auto rd = make_reader<T, char_type>();
6191
71.9k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
71.9k
                return unexpected(e);
6193
71.9k
            }
6194
6195
71.9k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
71.9k
                specs.width != 0) {
6197
71.9k
                return impl(rd, range, value);
6198
71.9k
            }
6199
6200
71.9k
            auto crange = get_as_contiguous(range);
6201
71.9k
            SCN_TRY(it, impl(rd, crange, value));
6202
71.9k
            return ranges::next(range.begin(),
6203
71.9k
                                ranges::distance(crange.begin(), it));
6204
71.9k
        }
6205
71.9k
        else {
6206
71.9k
            SCN_EXPECT(false);
6207
71.9k
            SCN_UNREACHABLE;
6208
71.9k
        }
6209
71.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6177
5.49k
    {
6178
5.49k
        if constexpr (!detail::is_type_disabled<T> &&
6179
5.49k
                      std::is_same_v<
6180
0
                          context_type,
6181
5.49k
                          basic_contiguous_scan_context<char_type>>) {
6182
5.49k
            auto rd = make_reader<T, char_type>();
6183
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
118
                return unexpected(e);
6185
118
            }
6186
6187
5.37k
            return impl(rd, range, value);
6188
5.49k
        }
6189
5.49k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
5.49k
            auto rd = make_reader<T, char_type>();
6191
5.49k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
5.49k
                return unexpected(e);
6193
5.49k
            }
6194
6195
5.49k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
5.49k
                specs.width != 0) {
6197
5.49k
                return impl(rd, range, value);
6198
5.49k
            }
6199
6200
5.49k
            auto crange = get_as_contiguous(range);
6201
5.49k
            SCN_TRY(it, impl(rd, crange, value));
6202
5.49k
            return ranges::next(range.begin(),
6203
5.49k
                                ranges::distance(crange.begin(), it));
6204
5.49k
        }
6205
5.49k
        else {
6206
5.49k
            SCN_EXPECT(false);
6207
5.49k
            SCN_UNREACHABLE;
6208
5.49k
        }
6209
5.49k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6177
47.1k
    {
6178
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.1k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.1k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.1k
            auto rd = make_reader<T, char_type>();
6183
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
47.1k
            return impl(rd, range, value);
6188
47.1k
        }
6189
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.1k
            auto rd = make_reader<T, char_type>();
6191
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.1k
                return unexpected(e);
6193
47.1k
            }
6194
6195
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.1k
                specs.width != 0) {
6197
47.1k
                return impl(rd, range, value);
6198
47.1k
            }
6199
6200
47.1k
            auto crange = get_as_contiguous(range);
6201
47.1k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.1k
            return ranges::next(range.begin(),
6203
47.1k
                                ranges::distance(crange.begin(), it));
6204
47.1k
        }
6205
47.1k
        else {
6206
47.1k
            SCN_EXPECT(false);
6207
47.1k
            SCN_UNREACHABLE;
6208
47.1k
        }
6209
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6177
47.8k
    {
6178
47.8k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.8k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.8k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.8k
            auto rd = make_reader<T, char_type>();
6183
47.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
94
                return unexpected(e);
6185
94
            }
6186
6187
47.7k
            return impl(rd, range, value);
6188
47.8k
        }
6189
47.8k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.8k
            auto rd = make_reader<T, char_type>();
6191
47.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.8k
                return unexpected(e);
6193
47.8k
            }
6194
6195
47.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.8k
                specs.width != 0) {
6197
47.8k
                return impl(rd, range, value);
6198
47.8k
            }
6199
6200
47.8k
            auto crange = get_as_contiguous(range);
6201
47.8k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.8k
            return ranges::next(range.begin(),
6203
47.8k
                                ranges::distance(crange.begin(), it));
6204
47.8k
        }
6205
47.8k
        else {
6206
47.8k
            SCN_EXPECT(false);
6207
47.8k
            SCN_UNREACHABLE;
6208
47.8k
        }
6209
47.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6177
47.3k
    {
6178
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.3k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.3k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.3k
            auto rd = make_reader<T, char_type>();
6183
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
47.3k
            return impl(rd, range, value);
6188
47.3k
        }
6189
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.3k
            auto rd = make_reader<T, char_type>();
6191
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.3k
                return unexpected(e);
6193
47.3k
            }
6194
6195
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.3k
                specs.width != 0) {
6197
47.3k
                return impl(rd, range, value);
6198
47.3k
            }
6199
6200
47.3k
            auto crange = get_as_contiguous(range);
6201
47.3k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.3k
            return ranges::next(range.begin(),
6203
47.3k
                                ranges::distance(crange.begin(), it));
6204
47.3k
        }
6205
47.3k
        else {
6206
47.3k
            SCN_EXPECT(false);
6207
47.3k
            SCN_UNREACHABLE;
6208
47.3k
        }
6209
47.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6177
47.0k
    {
6178
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.0k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.0k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.0k
            auto rd = make_reader<T, char_type>();
6183
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
47.0k
            return impl(rd, range, value);
6188
47.0k
        }
6189
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.0k
            auto rd = make_reader<T, char_type>();
6191
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.0k
                return unexpected(e);
6193
47.0k
            }
6194
6195
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.0k
                specs.width != 0) {
6197
47.0k
                return impl(rd, range, value);
6198
47.0k
            }
6199
6200
47.0k
            auto crange = get_as_contiguous(range);
6201
47.0k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.0k
            return ranges::next(range.begin(),
6203
47.0k
                                ranges::distance(crange.begin(), it));
6204
47.0k
        }
6205
47.0k
        else {
6206
47.0k
            SCN_EXPECT(false);
6207
47.0k
            SCN_UNREACHABLE;
6208
47.0k
        }
6209
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6177
47.6k
    {
6178
47.6k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.6k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.6k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.6k
            auto rd = make_reader<T, char_type>();
6183
47.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
94
                return unexpected(e);
6185
94
            }
6186
6187
47.6k
            return impl(rd, range, value);
6188
47.6k
        }
6189
47.6k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.6k
            auto rd = make_reader<T, char_type>();
6191
47.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.6k
                return unexpected(e);
6193
47.6k
            }
6194
6195
47.6k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.6k
                specs.width != 0) {
6197
47.6k
                return impl(rd, range, value);
6198
47.6k
            }
6199
6200
47.6k
            auto crange = get_as_contiguous(range);
6201
47.6k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.6k
            return ranges::next(range.begin(),
6203
47.6k
                                ranges::distance(crange.begin(), it));
6204
47.6k
        }
6205
47.6k
        else {
6206
47.6k
            SCN_EXPECT(false);
6207
47.6k
            SCN_UNREACHABLE;
6208
47.6k
        }
6209
47.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6177
47.2k
    {
6178
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6179
47.2k
                      std::is_same_v<
6180
0
                          context_type,
6181
47.2k
                          basic_contiguous_scan_context<char_type>>) {
6182
47.2k
            auto rd = make_reader<T, char_type>();
6183
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
47.2k
            return impl(rd, range, value);
6188
47.2k
        }
6189
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
47.2k
            auto rd = make_reader<T, char_type>();
6191
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
47.2k
                return unexpected(e);
6193
47.2k
            }
6194
6195
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
47.2k
                specs.width != 0) {
6197
47.2k
                return impl(rd, range, value);
6198
47.2k
            }
6199
6200
47.2k
            auto crange = get_as_contiguous(range);
6201
47.2k
            SCN_TRY(it, impl(rd, crange, value));
6202
47.2k
            return ranges::next(range.begin(),
6203
47.2k
                                ranges::distance(crange.begin(), it));
6204
47.2k
        }
6205
47.2k
        else {
6206
47.2k
            SCN_EXPECT(false);
6207
47.2k
            SCN_UNREACHABLE;
6208
47.2k
        }
6209
47.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6177
540
    {
6178
540
        if constexpr (!detail::is_type_disabled<T> &&
6179
540
                      std::is_same_v<
6180
0
                          context_type,
6181
540
                          basic_contiguous_scan_context<char_type>>) {
6182
540
            auto rd = make_reader<T, char_type>();
6183
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
108
                return unexpected(e);
6185
108
            }
6186
6187
432
            return impl(rd, range, value);
6188
540
        }
6189
540
        else if constexpr (!detail::is_type_disabled<T>) {
6190
540
            auto rd = make_reader<T, char_type>();
6191
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
540
                return unexpected(e);
6193
540
            }
6194
6195
540
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
540
                specs.width != 0) {
6197
540
                return impl(rd, range, value);
6198
540
            }
6199
6200
540
            auto crange = get_as_contiguous(range);
6201
540
            SCN_TRY(it, impl(rd, crange, value));
6202
540
            return ranges::next(range.begin(),
6203
540
                                ranges::distance(crange.begin(), it));
6204
540
        }
6205
540
        else {
6206
540
            SCN_EXPECT(false);
6207
540
            SCN_UNREACHABLE;
6208
540
        }
6209
540
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6177
556
    {
6178
556
        if constexpr (!detail::is_type_disabled<T> &&
6179
556
                      std::is_same_v<
6180
0
                          context_type,
6181
556
                          basic_contiguous_scan_context<char_type>>) {
6182
556
            auto rd = make_reader<T, char_type>();
6183
556
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
82
                return unexpected(e);
6185
82
            }
6186
6187
474
            return impl(rd, range, value);
6188
556
        }
6189
556
        else if constexpr (!detail::is_type_disabled<T>) {
6190
556
            auto rd = make_reader<T, char_type>();
6191
556
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
556
                return unexpected(e);
6193
556
            }
6194
6195
556
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
556
                specs.width != 0) {
6197
556
                return impl(rd, range, value);
6198
556
            }
6199
6200
556
            auto crange = get_as_contiguous(range);
6201
556
            SCN_TRY(it, impl(rd, crange, value));
6202
556
            return ranges::next(range.begin(),
6203
556
                                ranges::distance(crange.begin(), it));
6204
556
        }
6205
556
        else {
6206
556
            SCN_EXPECT(false);
6207
556
            SCN_UNREACHABLE;
6208
556
        }
6209
556
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6177
540
    {
6178
540
        if constexpr (!detail::is_type_disabled<T> &&
6179
540
                      std::is_same_v<
6180
0
                          context_type,
6181
540
                          basic_contiguous_scan_context<char_type>>) {
6182
540
            auto rd = make_reader<T, char_type>();
6183
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
90
                return unexpected(e);
6185
90
            }
6186
6187
450
            return impl(rd, range, value);
6188
540
        }
6189
540
        else if constexpr (!detail::is_type_disabled<T>) {
6190
540
            auto rd = make_reader<T, char_type>();
6191
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
540
                return unexpected(e);
6193
540
            }
6194
6195
540
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
540
                specs.width != 0) {
6197
540
                return impl(rd, range, value);
6198
540
            }
6199
6200
540
            auto crange = get_as_contiguous(range);
6201
540
            SCN_TRY(it, impl(rd, crange, value));
6202
540
            return ranges::next(range.begin(),
6203
540
                                ranges::distance(crange.begin(), it));
6204
540
        }
6205
540
        else {
6206
540
            SCN_EXPECT(false);
6207
540
            SCN_UNREACHABLE;
6208
540
        }
6209
540
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6177
72.3k
    {
6178
72.3k
        if constexpr (!detail::is_type_disabled<T> &&
6179
72.3k
                      std::is_same_v<
6180
0
                          context_type,
6181
72.3k
                          basic_contiguous_scan_context<char_type>>) {
6182
72.3k
            auto rd = make_reader<T, char_type>();
6183
72.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
72.3k
            return impl(rd, range, value);
6188
72.3k
        }
6189
72.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
72.3k
            auto rd = make_reader<T, char_type>();
6191
72.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
72.3k
                return unexpected(e);
6193
72.3k
            }
6194
6195
72.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
72.3k
                specs.width != 0) {
6197
72.3k
                return impl(rd, range, value);
6198
72.3k
            }
6199
6200
72.3k
            auto crange = get_as_contiguous(range);
6201
72.3k
            SCN_TRY(it, impl(rd, crange, value));
6202
72.3k
            return ranges::next(range.begin(),
6203
72.3k
                                ranges::distance(crange.begin(), it));
6204
72.3k
        }
6205
72.3k
        else {
6206
72.3k
            SCN_EXPECT(false);
6207
72.3k
            SCN_UNREACHABLE;
6208
72.3k
        }
6209
72.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6177
73.0k
    {
6178
73.0k
        if constexpr (!detail::is_type_disabled<T> &&
6179
73.0k
                      std::is_same_v<
6180
0
                          context_type,
6181
73.0k
                          basic_contiguous_scan_context<char_type>>) {
6182
73.0k
            auto rd = make_reader<T, char_type>();
6183
73.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
104
                return unexpected(e);
6185
104
            }
6186
6187
72.9k
            return impl(rd, range, value);
6188
73.0k
        }
6189
73.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
73.0k
            auto rd = make_reader<T, char_type>();
6191
73.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
73.0k
                return unexpected(e);
6193
73.0k
            }
6194
6195
73.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
73.0k
                specs.width != 0) {
6197
73.0k
                return impl(rd, range, value);
6198
73.0k
            }
6199
6200
73.0k
            auto crange = get_as_contiguous(range);
6201
73.0k
            SCN_TRY(it, impl(rd, crange, value));
6202
73.0k
            return ranges::next(range.begin(),
6203
73.0k
                                ranges::distance(crange.begin(), it));
6204
73.0k
        }
6205
73.0k
        else {
6206
73.0k
            SCN_EXPECT(false);
6207
73.0k
            SCN_UNREACHABLE;
6208
73.0k
        }
6209
73.0k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6177
72.5k
    {
6178
72.5k
        if constexpr (!detail::is_type_disabled<T> &&
6179
72.5k
                      std::is_same_v<
6180
0
                          context_type,
6181
72.5k
                          basic_contiguous_scan_context<char_type>>) {
6182
72.5k
            auto rd = make_reader<T, char_type>();
6183
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
0
                return unexpected(e);
6185
0
            }
6186
6187
72.5k
            return impl(rd, range, value);
6188
72.5k
        }
6189
72.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6190
72.5k
            auto rd = make_reader<T, char_type>();
6191
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
72.5k
                return unexpected(e);
6193
72.5k
            }
6194
6195
72.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
72.5k
                specs.width != 0) {
6197
72.5k
                return impl(rd, range, value);
6198
72.5k
            }
6199
6200
72.5k
            auto crange = get_as_contiguous(range);
6201
72.5k
            SCN_TRY(it, impl(rd, crange, value));
6202
72.5k
            return ranges::next(range.begin(),
6203
72.5k
                                ranges::distance(crange.begin(), it));
6204
72.5k
        }
6205
72.5k
        else {
6206
72.5k
            SCN_EXPECT(false);
6207
72.5k
            SCN_UNREACHABLE;
6208
72.5k
        }
6209
72.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6177
540
    {
6178
540
        if constexpr (!detail::is_type_disabled<T> &&
6179
540
                      std::is_same_v<
6180
0
                          context_type,
6181
540
                          basic_contiguous_scan_context<char_type>>) {
6182
540
            auto rd = make_reader<T, char_type>();
6183
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
34
                return unexpected(e);
6185
34
            }
6186
6187
506
            return impl(rd, range, value);
6188
540
        }
6189
540
        else if constexpr (!detail::is_type_disabled<T>) {
6190
540
            auto rd = make_reader<T, char_type>();
6191
540
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
540
                return unexpected(e);
6193
540
            }
6194
6195
540
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
540
                specs.width != 0) {
6197
540
                return impl(rd, range, value);
6198
540
            }
6199
6200
540
            auto crange = get_as_contiguous(range);
6201
540
            SCN_TRY(it, impl(rd, crange, value));
6202
540
            return ranges::next(range.begin(),
6203
540
                                ranges::distance(crange.begin(), it));
6204
540
        }
6205
540
        else {
6206
540
            SCN_EXPECT(false);
6207
540
            SCN_UNREACHABLE;
6208
540
        }
6209
540
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6177
8.16M
    {
6178
8.16M
        if constexpr (!detail::is_type_disabled<T> &&
6179
8.16M
                      std::is_same_v<
6180
0
                          context_type,
6181
8.16M
                          basic_contiguous_scan_context<char_type>>) {
6182
8.16M
            auto rd = make_reader<T, char_type>();
6183
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
3.15k
                return unexpected(e);
6185
3.15k
            }
6186
6187
8.16M
            return impl(rd, range, value);
6188
8.16M
        }
6189
8.16M
        else if constexpr (!detail::is_type_disabled<T>) {
6190
8.16M
            auto rd = make_reader<T, char_type>();
6191
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
8.16M
                return unexpected(e);
6193
8.16M
            }
6194
6195
8.16M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
8.16M
                specs.width != 0) {
6197
8.16M
                return impl(rd, range, value);
6198
8.16M
            }
6199
6200
8.16M
            auto crange = get_as_contiguous(range);
6201
8.16M
            SCN_TRY(it, impl(rd, crange, value));
6202
8.16M
            return ranges::next(range.begin(),
6203
8.16M
                                ranges::distance(crange.begin(), it));
6204
8.16M
        }
6205
8.16M
        else {
6206
8.16M
            SCN_EXPECT(false);
6207
8.16M
            SCN_UNREACHABLE;
6208
8.16M
        }
6209
8.16M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6177
8.16M
    {
6178
8.16M
        if constexpr (!detail::is_type_disabled<T> &&
6179
8.16M
                      std::is_same_v<
6180
0
                          context_type,
6181
8.16M
                          basic_contiguous_scan_context<char_type>>) {
6182
8.16M
            auto rd = make_reader<T, char_type>();
6183
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6184
3.15k
                return unexpected(e);
6185
3.15k
            }
6186
6187
8.16M
            return impl(rd, range, value);
6188
8.16M
        }
6189
8.16M
        else if constexpr (!detail::is_type_disabled<T>) {
6190
8.16M
            auto rd = make_reader<T, char_type>();
6191
8.16M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6192
8.16M
                return unexpected(e);
6193
8.16M
            }
6194
6195
8.16M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6196
8.16M
                specs.width != 0) {
6197
8.16M
                return impl(rd, range, value);
6198
8.16M
            }
6199
6200
8.16M
            auto crange = get_as_contiguous(range);
6201
8.16M
            SCN_TRY(it, impl(rd, crange, value));
6202
8.16M
            return ranges::next(range.begin(),
6203
8.16M
                                ranges::distance(crange.begin(), it));
6204
8.16M
        }
6205
8.16M
        else {
6206
8.16M
            SCN_EXPECT(false);
6207
8.16M
            SCN_UNREACHABLE;
6208
8.16M
        }
6209
8.16M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
6210
6211
    scan_expected<iterator> operator()(typename context_type::arg_type::handle)
6212
0
    {
6213
0
        SCN_EXPECT(false);
6214
0
        SCN_UNREACHABLE;
6215
0
    }
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
6216
6217
    range_type range;
6218
    const detail::format_specs& specs;
6219
    detail::locale_ref loc;
6220
};
6221
6222
template <typename Context>
6223
struct custom_reader {
6224
    using context_type = Context;
6225
    using char_type = typename context_type::char_type;
6226
    using parse_context_type = typename context_type::parse_context_type;
6227
    using iterator = typename context_type::iterator;
6228
6229
    template <typename T>
6230
    scan_expected<iterator> operator()(T&) const
6231
0
    {
6232
0
        SCN_EXPECT(false);
6233
0
        SCN_UNREACHABLE;
6234
0
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
6235
6236
    scan_expected<iterator> operator()(
6237
        typename context_type::arg_type::handle h) const
6238
0
    {
6239
0
        if (auto e = h.scan(parse_ctx, ctx); !e) {
6240
0
            return unexpected(e);
6241
0
        }
6242
0
        return {ctx.begin()};
6243
0
    }
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle) const
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle) const
6244
6245
    parse_context_type& parse_ctx;
6246
    context_type& ctx;
6247
};
6248
}  // namespace impl
6249
6250
SCN_END_NAMESPACE
6251
}  // namespace scn